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

Data Fields | |
| KlAllocator * | alloc |
| int | conn_fd |
| char * | hdr_buf |
| size_t | hdr_len |
| size_t | hdr_cap |
| int | status |
| int | headers_sent |
| KlBodyMode | body_mode |
| const char * | body |
| size_t | body_len |
| char * | body_owned |
| size_t | body_owned_size |
| int | file_fd |
| off_t | file_size |
| off_t | file_offset |
| int | stream_error |
| int | stream_ended |
| KlDrain | drain |
| int | drain_enabled |
| size_t | send_offset |
| int | keep_alive |
| int | head_request |
| KlTls * | tls |
| KlAllocator* KlResponse::alloc |
Allocator for header buffer
| int KlResponse::conn_fd |
Connection file descriptor
| char* KlResponse::hdr_buf |
Header buffer (allocated, grows via allocator)
| size_t KlResponse::hdr_len |
Header buffer used length
| size_t KlResponse::hdr_cap |
Header buffer capacity
| int KlResponse::status |
HTTP status code
| int KlResponse::headers_sent |
1 if headers already flushed
| KlBodyMode KlResponse::body_mode |
Body mode (none/buffer/file/stream)
| const char* KlResponse::body |
Buffered body pointer (borrowed)
| size_t KlResponse::body_len |
Buffered body length
| char* KlResponse::body_owned |
Owned body copy (for kl_response_body_copy)
| size_t KlResponse::body_owned_size |
Owned body copy size
| int KlResponse::file_fd |
File descriptor for sendfile
| off_t KlResponse::file_size |
File size in bytes
| off_t KlResponse::file_offset |
File offset for sendfile resume
| int KlResponse::stream_error |
Streaming error flag
| int KlResponse::stream_ended |
1 = end_stream called, drain flush will close
| KlDrain KlResponse::drain |
Streaming backpressure buffer
| int KlResponse::drain_enabled |
0 = off (default), 1 = on
| size_t KlResponse::send_offset |
Buffer send progress (partial writev resume)
| int KlResponse::keep_alive |
Keep-alive flag (set by connection layer)
| int KlResponse::head_request |
1 if HEAD request (suppress body)
| KlTls* KlResponse::tls |
TLS session (NULL for plaintext)