29 std::string& output,
size_t& bytesConsumed);
53 const char* input,
size_t size, std::string& output);
61 bool parseHex(
const std::string& hex,
size_t& result)
const;
void reset()
Definition ChunkedBodyParser.cpp:61
Status
Definition ChunkedBodyParser.hpp:10
@ CHUNK_DONE
Definition ChunkedBodyParser.hpp:12
@ CHUNK_ERROR
Definition ChunkedBodyParser.hpp:13
@ CHUNK_CONTINUE
Definition ChunkedBodyParser.hpp:11
HttpStatus errorStatus_
Definition ChunkedBodyParser.hpp:68
HttpStatus errorStatus() const
Definition ChunkedBodyParser.cpp:71
bool sawCR_
Definition ChunkedBodyParser.hpp:69
size_t maxBodySize_
Definition ChunkedBodyParser.hpp:67
ParseResult setError(HttpStatus status)
Definition ChunkedBodyParser.cpp:79
ParseResult readTrailerCrlf(const char *input, size_t size, std::string &output)
Definition ChunkedBodyParser.cpp:156
void setMaxBodySize(size_t size)
Definition ChunkedBodyParser.cpp:75
ChunkedBodyParser()
Definition ChunkedBodyParser.cpp:52
ParseResult readFinalCrlf(const char *input, size_t size, std::string &output)
Definition ChunkedBodyParser.cpp:183
Status parse(const char *input, size_t size, std::string &output, size_t &bytesConsumed)
Parse chunked data incrementally.
Definition ChunkedBodyParser.cpp:210
size_t bytesRemainingInChunk_
Definition ChunkedBodyParser.hpp:65
ParseResult readSize(const char *input, size_t size, std::string &output)
Definition ChunkedBodyParser.cpp:101
std::string sizeBuffer_
Definition ChunkedBodyParser.hpp:64
InternalState
Definition ChunkedBodyParser.hpp:44
@ DONE
Definition ChunkedBodyParser.hpp:49
@ READING_SIZE
Definition ChunkedBodyParser.hpp:45
@ READING_DATA
Definition ChunkedBodyParser.hpp:46
@ READING_FINAL_CRLF
Definition ChunkedBodyParser.hpp:48
@ READING_TRAILER_CRLF
Definition ChunkedBodyParser.hpp:47
ParseResult(ChunkedBodyParser::* StateHandler)(const char *input, size_t size, std::string &output)
Definition ChunkedBodyParser.hpp:52
InternalState state_
Definition ChunkedBodyParser.hpp:63
bool parseHex(const std::string &hex, size_t &result) const
Definition ChunkedBodyParser.cpp:85
size_t totalBytesWritten_
Definition ChunkedBodyParser.hpp:66
ParseResult readData(const char *input, size_t size, std::string &output)
Definition ChunkedBodyParser.cpp:138
Definition IArgument.hpp:5
HttpStatus
Definition HttpStatus.hpp:11
Definition ChunkedBodyParser.hpp:35
static ParseResult error()
Definition ChunkedBodyParser.cpp:45
static ParseResult success(size_t n)
Definition ChunkedBodyParser.cpp:31
size_t consumed
Definition ChunkedBodyParser.hpp:37
static ParseResult needMore()
Definition ChunkedBodyParser.cpp:38
bool ok
Definition ChunkedBodyParser.hpp:36