http_proto icon indicating copy to clipboard operation
http_proto copied to clipboard

HTTP/1 parsing and serialization algorithms using C++11

Results 54 http_proto issues
Sort by recently updated
recently updated
newest added

Once the HTTP-version for a connection has been established, both sides MUST use that version for all subsequent messages on that connection. In practical terms the parser should return an...

Looks like this is already handled inside `prefix_op_t`, but we still need to add test cases for it in the [response](https://github.com/cppalliance/http_proto/blob/develop/test/unit/response.cpp) and [request](https://github.com/cppalliance/http_proto/blob/develop/test/unit/request.cpp) tests.

We use the term "message" to describe the start-line plus fields, and this is confusing because we also use "message" to describe the full request or response including the body....

We need routines to convert `std::chrono` time points to HTTP-date: https://www.rfc-editor.org/rfc/rfc9110.html#http.date The server example in http_io has a crude printing function for the current time

Currently, we are discarding trailing headers. We need to provide an interface that gives access to these fields once the message is completely received. Additionally, we must be cautious of...

Currently, dynamic containers have to allocate and memcpy for every newly added field. We need a growth factor to reduce the number of allocations.

There are at least two scenarios where this is useful: - When we want to use a source object and there is no way to determine the length of the...

This is useful when a server wants to cache static responses specially when they need compression.

For efficiency reasons, servers tend not to compress small response bodies. To address this, we define a threshold and skip compressing bodies smaller than that. However, for some source objects...

Currently we are using the suggested formula from zlib's documentation: https://github.com/cppalliance/http_proto/blob/cf22661f3e2811a328aec5e8574fe637017ac007/src/parser.cpp#L472-L480 However, it has the same issue mentioned in the documentation: > zlib's memory footprint can also be specified fairly...