You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
boost::http::basic_socket should be able to receive some parser_traits. Such parser_traits should allow us to limit maximum HTTP header key and value sizes and it should also allow to limit number of headers as well as maximum body size. The point is that should be possible to avoid reallocations and leave memory management for the user. Other useful options are strict/liberal parser, predicate to decide whether header should be stored (blacklist wouldn't work)...
Expanding on the above item, there should be a portable interface among sockets to dictate maximum size for some HTTP elements. basic_socket should implement it. Other backends may not (On the non-hacky front).
Remove all (implicitly) allocating code (e.g. last_header).
Others
Provide a HTTP parser. This way, user can benefit even if he won't use Asio.
Provide algorithm that will create a HTTP raw stream (represented as a string) from a HTTP message. Also provide a "literal message" of some sort that is created using literal strings and return a const value of an unspecified type that models the Message concept.
Implement HTTP/2.0
Friendlier interface. It should be addressed with a request router and better documentation that makes use of such router.
Memory management
boost::http::basic_socket
should be able to receive someparser_traits
. Suchparser_traits
should allow us to limit maximum HTTP header key and value sizes and it should also allow to limit number of headers as well as maximum body size. The point is that should be possible to avoid reallocations and leave memory management for the user. Other useful options are strict/liberal parser, predicate to decide whether header should be stored (blacklist wouldn't work)...basic_socket
should implement it. Other backends may not (On the non-hacky front).Message
concept to allow an implementation that will drop info at insertion time instead relying on C++11's container concepts. Text should be in the lines of something like "this operation potentially insert an element...". (How could a user provide a message concept that satifies the SequenceContainer for the body avoid memory allocations?...).last_header
).Others
Message
concept.HTTP/2.0
WON'T FIX
boost::http::socket
closer to Asio's socket. The suggestion wasn't developed enough.http::stream
. Actually, it won't be done for the next Boost submission, but I might (or might not) add it later.The text was updated successfully, but these errors were encountered: