coreHTTP  v2.0.0
HTTP/1.1 Client Library

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