static_http#
The static_http namespace implemented in the header files under include/static_http contain
an implementation of a static http server. The term static here means that the files served
by the http server are not dynamic, they are fixed at compile time. The application for this
feature is to embed a set of files (e.g. a web application) into the firmware for a device.
static_http stores files as gzip-compressed HTTP responses in a level compressed search tree.
The tool tools/mkfs.js can be used to generate filesystem images (which are source files)
for use with the static_http server.
The HTTP protocol parsing itself is implemented using one of three diffent libraries. The library used can be configured using the following defines:
AES70_STATIC_HTTP_USE_PICOHTTPPARSERenables usage of picohttpparser.AES70_STATIC_HTTP_USE_LLHTTPenables usage of llhttp.AES70_STATIC_HTTP_USE_HTTP_PARSERis deprecated and enables usage of http-parser.
The static_http library also supports websocket connections. This can be used to implement AES70 over
websocket connections. The websocket support is described in more detail in the next section websocket.