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 llhttp 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 coreHTTP (example generated with GCC for ARM Cortex-M) |
File | With -O1 Optimization | With -Os Optimization |
core_http_client.c | 3.3K | 2.7K |
api.c (llhttp) | 2.8K | 2.2K |
http.c (llhttp) | 0.3K | 0.3K |
llhttp.c (llhttp) | 19.1K | 17.1K |
Total estimates | 25.5K | 22.3K |