Skip to content

Struct SYN_HttpClient

ClassList > SYN_HttpClient

HTTP client context structure.

  • #include <syn_http.h>

Public Attributes

Type Name
const uint8_t * body
SYN_HttpBodyCallback body_cb
size_t body_len
uint32_t body_remaining
size_t body_start
uint32_t body_timeout_ms
size_t buf_pos
size_t buf_used
void * cb_ctx
char chunk_line
size_t chunk_line_pos
uint32_t chunk_remaining
uint8_t chunk_state
const char * content_type
char cur_host
char cur_path
uint16_t cur_port
uint8_t header_count
uint32_t header_timeout_ms
const SYN_HttpHeader * headers
int hops
const char * host
bool known_length
size_t line_len
const char * method
const char * path
uint16_t port
SYN_HttpResponse resp
SYN_Socket sock
SYN_HttpState state
SYN_Status status
uint8_t * work_buf
size_t work_buf_size

Public Attributes Documentation

variable body

const uint8_t* SYN_HttpClient::body;

Request body buffer for POST, or NULL


variable body_cb

SYN_HttpBodyCallback SYN_HttpClient::body_cb;

Callback function to stream response body


variable body_len

size_t SYN_HttpClient::body_len;

Request body length, or 0


variable body_remaining

uint32_t SYN_HttpClient::body_remaining;

Number of expected body bytes remaining


variable body_start

size_t SYN_HttpClient::body_start;

Index in work_buf where body data begins


variable body_timeout_ms

uint32_t SYN_HttpClient::body_timeout_ms;

Body receive timeout threshold


variable buf_pos

size_t SYN_HttpClient::buf_pos;

Read cursor within the work_buf


variable buf_used

size_t SYN_HttpClient::buf_used;

Active bytes stored in work_buf


variable cb_ctx

void* SYN_HttpClient::cb_ctx;

User context for the body callback


variable chunk_line

char SYN_HttpClient::chunk_line[32];

Parser buffer for reading chunk length text


variable chunk_line_pos

size_t SYN_HttpClient::chunk_line_pos;

Write cursor in chunk_line


variable chunk_remaining

uint32_t SYN_HttpClient::chunk_remaining;

Current chunk bytes remaining to read


variable chunk_state

uint8_t SYN_HttpClient::chunk_state;

Internal parser state (0: size line, 1: data, 2: trailing CRLF)


variable content_type

const char* SYN_HttpClient::content_type;

Content-Type for POST payload, or NULL


variable cur_host

char SYN_HttpClient::cur_host[64];

Cached current redirect hostname


variable cur_path

char SYN_HttpClient::cur_path[128];

Cached current redirect path


variable cur_port

uint16_t SYN_HttpClient::cur_port;

Cached current redirect port


variable header_count

uint8_t SYN_HttpClient::header_count;

Number of custom request headers


variable header_timeout_ms

uint32_t SYN_HttpClient::header_timeout_ms;

Header receive timeout threshold


variable headers

const SYN_HttpHeader* SYN_HttpClient::headers;

Optional array of custom request headers


variable hops

int SYN_HttpClient::hops;

Redirect hop counter to prevent crash loops


variable host

const char* SYN_HttpClient::host;

Hostname to query


variable known_length

bool SYN_HttpClient::known_length;

True if Content-Length was provided


variable line_len

size_t SYN_HttpClient::line_len;

Length of the current parsed line


variable method

const char* SYN_HttpClient::method;

HTTP method (e.g. "GET", "POST")


variable path

const char* SYN_HttpClient::path;

Resource path on the server (e.g. "/index.html")


variable port

uint16_t SYN_HttpClient::port;

Port to connect to (typically 80)


variable resp

SYN_HttpResponse SYN_HttpClient::resp;

Parsed response status and headers


variable sock

SYN_Socket SYN_HttpClient::sock;

Client TCP network socket handle


variable state

SYN_HttpState SYN_HttpClient::state;

Current client state machine state


variable status

SYN_Status SYN_HttpClient::status;

Final transaction execution status


variable work_buf

uint8_t* SYN_HttpClient::work_buf;

Work buffer for socket transmission and parsing


variable work_buf_size

size_t SYN_HttpClient::work_buf_size;

Capacity of the work buffer



The documentation for this class was generated from the following file src/syntropic/net/syn_http.h