|
KEEL 1.0.0
Minimal C11 HTTP client/server library built on epoll/kqueue/io_uring/poll
|
#include <body_reader_multipart.h>

Data Fields | |
| KlBodyReader | base |
| KlAllocator * | alloc |
| char | delimiter [KL_MP_MAX_BOUNDARY+6] |
| size_t | delimiter_len |
| KlMultipartPart * | parts |
| int | num_parts |
| int | parts_cap |
| KlMultipartConfig | config |
| size_t | total_received |
| KlMultipartState | state |
| char | overlap [KL_MP_MAX_BOUNDARY+6] |
| size_t | overlap_len |
| char | hdr_buf [2048] |
| size_t | hdr_len |
| KlBodyReader KlMultipartReader::base |
Base body reader vtable
| KlAllocator* KlMultipartReader::alloc |
Allocator for parts and buffers
| char KlMultipartReader::delimiter[KL_MP_MAX_BOUNDARY+6] |
"\r\n--" + boundary for body scanning
| size_t KlMultipartReader::delimiter_len |
Length of delimiter string
| KlMultipartPart* KlMultipartReader::parts |
Parts (growable array) Parsed parts array
| int KlMultipartReader::num_parts |
Number of parsed parts
| int KlMultipartReader::parts_cap |
Parts array capacity
| KlMultipartConfig KlMultipartReader::config |
Limits Size and count limits
| size_t KlMultipartReader::total_received |
Total bytes received so far
| KlMultipartState KlMultipartReader::state |
State machine Current parser state
| char KlMultipartReader::overlap[KL_MP_MAX_BOUNDARY+6] |
Overlap buffer: last (delimiter_len - 1) bytes from previous on_data, to detect boundaries spanning chunks
| size_t KlMultipartReader::overlap_len |
Bytes in overlap buffer
| char KlMultipartReader::hdr_buf[2048] |
Part header accumulator Header line buffer
| size_t KlMultipartReader::hdr_len |
Bytes in header buffer