Skip to content

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.