39 State feed(
char const *chunk,
size_t size);
Definition ChunkedBodyParser.hpp:8
ChunkedBodyParser chunkParser_
Definition RequestParser.hpp:95
State parseHeaders()
Internal: Tries to find and parse the full header block.
Definition RequestParser.cpp:71
RequestParser(Request &req, size_t maxHeaderSize)
Definition RequestParser.cpp:13
State setError(HttpStatus status)
Sets the parser to an error state and updates the Request's status.
Definition RequestParser.cpp:34
void reset()
Resets the parser and the associated Request object for reuse.
Definition RequestParser.cpp:19
size_t bytesWrittenToBody_
Definition RequestParser.hpp:90
State parseBody()
Internal: Tries to consume data from the buffer for the body.
Definition RequestParser.cpp:129
size_t maxHeaderSize_
Definition RequestParser.hpp:86
HttpStatus errorStatus_
Definition RequestParser.hpp:82
State feed(char const *chunk, size_t size)
Feeds a chunk of raw socket data into the parser's state machine.
Definition RequestParser.cpp:42
State proceedReadingBody()
Resumes parsing after the HEADERS_READY pause.
Definition RequestParser.cpp:54
State state_
Definition RequestParser.hpp:81
void handleChunkedBody()
Definition RequestParser.cpp:182
size_t maxContentSize_
Definition RequestParser.hpp:87
HttpStatus errorStatus() const
Definition RequestParser.cpp:32
std::string buffer_
Definition RequestParser.hpp:84
size_t contentLength_
Definition RequestParser.hpp:89
State state() const
Definition RequestParser.cpp:31
State
Definition RequestParser.hpp:14
@ ERROR
Definition RequestParser.hpp:19
@ REQUEST_READY
Definition RequestParser.hpp:18
@ READING_HEADERS
Definition RequestParser.hpp:15
@ HEADERS_READY
Definition RequestParser.hpp:16
@ READING_BODY
Definition RequestParser.hpp:17
bool hasLeftoverData() const
Definition RequestParser.hpp:55
bool writeToBodyFile(const std::string &data)
Definition RequestParser.cpp:169
Request & request_
Definition RequestParser.hpp:93
void handleContentLengthBody()
Definition RequestParser.cpp:145
bool isContentChunked_
Definition RequestParser.hpp:91
void setRequestReady()
Definition RequestParser.cpp:209
Definition Request.hpp:66
Definition IArgument.hpp:5
HttpStatus
Definition HttpStatus.hpp:11
std::ostream & operator<<(std::ostream &o, RequestParser::State st)
Definition RequestParser.cpp:219