|
Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Representation of an HTTP client connected to the server. More...
#include <server.h>
Data Fields | |
| int | fd |
| Socket descriptor associated with the server. | |
| unsigned char | buffer [HTTP_SERVER_CLIENT_BUFFER_SIZE] |
| Client data buffer. | |
| unsigned char * | cursor |
| Cursor indicating currently processed byte. | |
| size_t | data_len |
| Data left to process in the buffer. | |
| int | window_size |
| Connection-level window size. | |
| enum http_server_state | server_state |
| Server state for the associated client. | |
| struct http2_frame | current_frame |
| Currently processed HTTP/2 frame. | |
| struct http_resource_detail * | current_detail |
| Currently processed resource detail. | |
| struct http2_stream_ctx * | current_stream |
| Currently processed stream. | |
| struct http_hpack_header_buf | header_field |
| HTTP/2 header parser context. | |
| struct http2_stream_ctx | streams [HTTP_SERVER_MAX_STREAMS] |
| HTTP/2 streams context. | |
| struct http_parser_settings | parser_settings |
| HTTP/1 parser configuration. | |
| struct http_parser | parser |
| HTTP/1 parser context. | |
| unsigned char | url_buffer [HTTP_SERVER_MAX_URL_LENGTH] |
| Request URL. | |
| unsigned char | content_type [HTTP_SERVER_MAX_CONTENT_TYPE_LEN] |
| Request content type. | |
| unsigned char | header_buffer [HTTP_SERVER_MAX_HEADER_LEN] |
| Temp buffer for currently processed header (HTTP/1 only). | |
| size_t | content_len |
| Request content length. | |
| enum http_method | method |
| Request method. | |
| enum http1_parser_state | parser_state |
| HTTP/1 parser state. | |
| int | http1_frag_data_len |
| Length of the payload length in the currently processed request fragment (HTTP/1 only). | |
| struct k_work_delayable | inactivity_timer |
| Client inactivity timer. | |
| bool | preface_sent: 1 |
| Flag indicating that HTTP2 preface was sent. | |
| bool | http1_headers_sent: 1 |
| Flag indicating that HTTP1 headers were sent. | |
| bool | has_upgrade_header: 1 |
| Flag indicating that upgrade header was present in the request. | |
| bool | http2_upgrade: 1 |
| Flag indicating HTTP/2 upgrade takes place. | |
| bool | websocket_upgrade: 1 |
| Flag indicating Websocket upgrade takes place. | |
| bool | websocket_sec_key_next: 1 |
| Flag indicating Websocket key is being processed. | |
| bool | expect_continuation: 1 |
| The next frame on the stream is expectd to be a continuation frame. | |
Representation of an HTTP client connected to the server.
| unsigned char http_client_ctx::buffer[HTTP_SERVER_CLIENT_BUFFER_SIZE] |
Client data buffer.
| size_t http_client_ctx::content_len |
Request content length.
| unsigned char http_client_ctx::content_type[HTTP_SERVER_MAX_CONTENT_TYPE_LEN] |
Request content type.
| struct http_resource_detail* http_client_ctx::current_detail |
Currently processed resource detail.
| struct http2_frame http_client_ctx::current_frame |
Currently processed HTTP/2 frame.
| struct http2_stream_ctx* http_client_ctx::current_stream |
Currently processed stream.
| unsigned char* http_client_ctx::cursor |
Cursor indicating currently processed byte.
| size_t http_client_ctx::data_len |
Data left to process in the buffer.
| bool http_client_ctx::expect_continuation |
The next frame on the stream is expectd to be a continuation frame.
| int http_client_ctx::fd |
Socket descriptor associated with the server.
| bool http_client_ctx::has_upgrade_header |
Flag indicating that upgrade header was present in the request.
| unsigned char http_client_ctx::header_buffer[HTTP_SERVER_MAX_HEADER_LEN] |
Temp buffer for currently processed header (HTTP/1 only).
| struct http_hpack_header_buf http_client_ctx::header_field |
HTTP/2 header parser context.
| int http_client_ctx::http1_frag_data_len |
Length of the payload length in the currently processed request fragment (HTTP/1 only).
| bool http_client_ctx::http1_headers_sent |
Flag indicating that HTTP1 headers were sent.
| bool http_client_ctx::http2_upgrade |
Flag indicating HTTP/2 upgrade takes place.
| struct k_work_delayable http_client_ctx::inactivity_timer |
Client inactivity timer.
The client connection is closed by the server when it expires.
| enum http_method http_client_ctx::method |
Request method.
| struct http_parser http_client_ctx::parser |
HTTP/1 parser context.
| struct http_parser_settings http_client_ctx::parser_settings |
HTTP/1 parser configuration.
| enum http1_parser_state http_client_ctx::parser_state |
HTTP/1 parser state.
| bool http_client_ctx::preface_sent |
Flag indicating that HTTP2 preface was sent.
| enum http_server_state http_client_ctx::server_state |
Server state for the associated client.
| struct http2_stream_ctx http_client_ctx::streams[HTTP_SERVER_MAX_STREAMS] |
HTTP/2 streams context.
| unsigned char http_client_ctx::url_buffer[HTTP_SERVER_MAX_URL_LENGTH] |
Request URL.
| bool http_client_ctx::websocket_sec_key_next |
Flag indicating Websocket key is being processed.
| bool http_client_ctx::websocket_upgrade |
Flag indicating Websocket upgrade takes place.
| int http_client_ctx::window_size |
Connection-level window size.