HTTP Client library
This HTTP Client library implements a subset of the HTTP/1.1 protocol. Features of this library include:
- Fully synchronous API, to allow applications to completely manage their concurrency and multi-threading.
- Operations on user supplied buffers, so that applications have complete control of their memory allocation strategy.
- Integration with http-parser to handle chunked encoding.
Feature of HTTP/1.1 not supported in this library:
- Streaming uploads and downloads. Range requests for partial content responses are highly encouraged with this API.
- Pipelining requests. There may be only one request outgoing and one response incoming, at a time, on a connection.
- Automatic redirection. The user application owns their connection and must handle redirection status codes.
Memory Requirements
Memory requirements of the HTTP Client library.
| Code size of HTTP Client library files (sizes generated with GCC for ARM Cortex-M toolchain) |
| File | No Optimization (asserts enabled) | With -O1 Optimization (asserts disabled) | With -Os Optimization (asserts disabled) |
| core_http_client.c | 16.4K | 4.7K | 4.0K |
| http_parser.c | 38.9K | 22.2K | 17.6K |
| Total estimates | 55.3K | 26.9K | 21.6K |