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_PICOHTTPPARSER
enables usage of picohttpparser.AES70_STATIC_HTTP_USE_LLHTTP
enables usage of llhttp.AES70_STATIC_HTTP_USE_HTTP_PARSER
is 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.