History log of /haiku/src/kits/network/libnetservices2/HttpParser.h
Revision Date Author Comments
# 71e29bbe 29-Oct-2022 Niels Sascha Reedijk <niels.reedijk@gmail.com>

NetServices: format code using `haiku-format`

This commit formats all the netservices2 code with the `haiku-format` tool from
https://github.com/owenca/haiku-format (commit aa7408e), with the following
customizations:
* SpaceBeforeRangeBasedForLoopColon is set to false
* Braces before a catch block are not wrapped
* Most headers, except for ExclusiveBorrow.h, have been manually reformatted
to adhere to Haiku's header format (issue #19 in the repository)

Change-Id: I693c4515cf26402e48f35d1213ab6d5fcf14bd1e


# 3c9045fb 23-Oct-2022 Niels Sascha Reedijk <niels.reedijk@gmail.com>

NetServices: Refactor to make HttpParser stateful

This change refactors various parts of the HTTP parsing. The HttpParser now
tracks what part of the message needs to be received next, and throws an error
if the object is used in the wrong way (when the caller requests to parse the
wrong part of he message).

The metadata about the transmission is now also saved in te parser. There is
partial work in there to start exposing the 'bytes written', which in
compressed streams is expected to differ from the bytes read. This is not
used yet.

This also simplifies the state tracking done by BHttpSession::Request.

Change-Id: I8532c6a5c8776456ea8bbccd6df7a44bac92b60d


# 7b1d966c 08-Aug-2022 Niels Sascha Reedijk <niels.reedijk@gmail.com>

NetServices: Rework parsing of content-length and move to HttpParser

This fixes a bug in the HttpAuthTest, and in general, moves responsibility of determining
the shape and size of the content to the right place.

Still to do is to fix the case where there really is a variable length content. This will
now probably error out as a connection closed error.

Change-Id: I13c20028e834cc9af8c7bc1d7d7613bf60838e64


# e6828456 01-Aug-2022 Niels Sascha Reedijk <niels.reedijk@gmail.com>

NetServices: move HttpBuffer and HttpParser into their own header/source

Change-Id: I5bc0d9df6f94c2cf1c39baa6206bf6f1db284705