Zephyr API Documentation  3.6.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

HTTP HPACK. More...

Data Structures

struct  http_hpack_header_buf
 HTTP2 header field with decoding buffer. More...
 

Macros

#define HTTP2_HEADER_FIELD_MAX_LEN   256
 
#define HTTP_SERVER_HUFFMAN_DECODE_BUFFER_SIZE   0
 

Enumerations

enum  http_hpack_static_key {
  HTTP_SERVER_HPACK_INVALID = 0 , HTTP_SERVER_HPACK_AUTHORITY = 1 , HTTP_SERVER_HPACK_METHOD_GET = 2 , HTTP_SERVER_HPACK_METHOD_POST = 3 ,
  HTTP_SERVER_HPACK_PATH_ROOT = 4 , HTTP_SERVER_HPACK_PATH_INDEX = 5 , HTTP_SERVER_HPACK_SCHEME_HTTP = 6 , HTTP_SERVER_HPACK_SCHEME_HTTPS = 7 ,
  HTTP_SERVER_HPACK_STATUS_200 = 8 , HTTP_SERVER_HPACK_STATUS_204 = 9 , HTTP_SERVER_HPACK_STATUS_206 = 10 , HTTP_SERVER_HPACK_STATUS_304 = 11 ,
  HTTP_SERVER_HPACK_STATUS_400 = 12 , HTTP_SERVER_HPACK_STATUS_404 = 13 , HTTP_SERVER_HPACK_STATUS_500 = 14 , HTTP_SERVER_HPACK_ACCEPT_CHARSET = 15 ,
  HTTP_SERVER_HPACK_ACCEPT_ENCODING = 16 , HTTP_SERVER_HPACK_ACCEPT_LANGUAGE = 17 , HTTP_SERVER_HPACK_ACCEPT_RANGES = 18 , HTTP_SERVER_HPACK_ACCEPT = 19 ,
  HTTP_SERVER_HPACK_ACCESS_CONTROL_ALLOW_ORIGIN = 20 , HTTP_SERVER_HPACK_AGE = 21 , HTTP_SERVER_HPACK_ALLOW = 22 , HTTP_SERVER_HPACK_AUTHORIZATION = 23 ,
  HTTP_SERVER_HPACK_CACHE_CONTROL = 24 , HTTP_SERVER_HPACK_CONTENT_DISPOSITION = 25 , HTTP_SERVER_HPACK_CONTENT_ENCODING = 26 , HTTP_SERVER_HPACK_CONTENT_LANGUAGE = 27 ,
  HTTP_SERVER_HPACK_CONTENT_LENGTH = 28 , HTTP_SERVER_HPACK_CONTENT_LOCATION = 29 , HTTP_SERVER_HPACK_CONTENT_RANGE = 30 , HTTP_SERVER_HPACK_CONTENT_TYPE = 31 ,
  HTTP_SERVER_HPACK_COOKIE = 32 , HTTP_SERVER_HPACK_DATE = 33 , HTTP_SERVER_HPACK_ETAG = 34 , HTTP_SERVER_HPACK_EXPECT = 35 ,
  HTTP_SERVER_HPACK_EXPIRES = 36 , HTTP_SERVER_HPACK_FROM = 37 , HTTP_SERVER_HPACK_HOST = 38 , HTTP_SERVER_HPACK_IF_MATCH = 39 ,
  HTTP_SERVER_HPACK_IF_MODIFIED_SINCE = 40 , HTTP_SERVER_HPACK_IF_NONE_MATCH = 41 , HTTP_SERVER_HPACK_IF_RANGE = 42 , HTTP_SERVER_HPACK_IF_UNMODIFIED_SINCE = 43 ,
  HTTP_SERVER_HPACK_LAST_MODIFIED = 44 , HTTP_SERVER_HPACK_LINK = 45 , HTTP_SERVER_HPACK_LOCATION = 46 , HTTP_SERVER_HPACK_MAX_FORWARDS = 47 ,
  HTTP_SERVER_HPACK_PROXY_AUTHENTICATE = 48 , HTTP_SERVER_HPACK_PROXY_AUTHORIZATION = 49 , HTTP_SERVER_HPACK_RANGE = 50 , HTTP_SERVER_HPACK_REFERER = 51 ,
  HTTP_SERVER_HPACK_REFRESH = 52 , HTTP_SERVER_HPACK_RETRY_AFTER = 53 , HTTP_SERVER_HPACK_SERVER = 54 , HTTP_SERVER_HPACK_SET_COOKIE = 55 ,
  HTTP_SERVER_HPACK_STRICT_TRANSPORT_SECURITY = 56 , HTTP_SERVER_HPACK_TRANSFER_ENCODING = 57 , HTTP_SERVER_HPACK_USER_AGENT = 58 , HTTP_SERVER_HPACK_VARY = 59 ,
  HTTP_SERVER_HPACK_VIA = 60 , HTTP_SERVER_HPACK_WWW_AUTHENTICATE = 61
}
 

Functions

int http_hpack_huffman_decode (const uint8_t *encoded_buf, size_t encoded_len, uint8_t *buf, size_t buflen)
 
int http_hpack_huffman_encode (const uint8_t *str, size_t str_len, uint8_t *buf, size_t buflen)
 
int http_hpack_decode_header (const uint8_t *buf, size_t datalen, struct http_hpack_header_buf *header)
 
int http_hpack_encode_header (uint8_t *buf, size_t buflen, struct http_hpack_header_buf *header)
 

Detailed Description

HTTP HPACK.

Macro Definition Documentation

◆ HTTP2_HEADER_FIELD_MAX_LEN

#define HTTP2_HEADER_FIELD_MAX_LEN   256

◆ HTTP_SERVER_HUFFMAN_DECODE_BUFFER_SIZE

#define HTTP_SERVER_HUFFMAN_DECODE_BUFFER_SIZE   0

Enumeration Type Documentation

◆ http_hpack_static_key

#include <zephyr/net/http/hpack.h>

Enumerator
HTTP_SERVER_HPACK_INVALID 
HTTP_SERVER_HPACK_AUTHORITY 
HTTP_SERVER_HPACK_METHOD_GET 
HTTP_SERVER_HPACK_METHOD_POST 
HTTP_SERVER_HPACK_PATH_ROOT 
HTTP_SERVER_HPACK_PATH_INDEX 
HTTP_SERVER_HPACK_SCHEME_HTTP 
HTTP_SERVER_HPACK_SCHEME_HTTPS 
HTTP_SERVER_HPACK_STATUS_200 
HTTP_SERVER_HPACK_STATUS_204 
HTTP_SERVER_HPACK_STATUS_206 
HTTP_SERVER_HPACK_STATUS_304 
HTTP_SERVER_HPACK_STATUS_400 
HTTP_SERVER_HPACK_STATUS_404 
HTTP_SERVER_HPACK_STATUS_500 
HTTP_SERVER_HPACK_ACCEPT_CHARSET 
HTTP_SERVER_HPACK_ACCEPT_ENCODING 
HTTP_SERVER_HPACK_ACCEPT_LANGUAGE 
HTTP_SERVER_HPACK_ACCEPT_RANGES 
HTTP_SERVER_HPACK_ACCEPT 
HTTP_SERVER_HPACK_ACCESS_CONTROL_ALLOW_ORIGIN 
HTTP_SERVER_HPACK_AGE 
HTTP_SERVER_HPACK_ALLOW 
HTTP_SERVER_HPACK_AUTHORIZATION 
HTTP_SERVER_HPACK_CACHE_CONTROL 
HTTP_SERVER_HPACK_CONTENT_DISPOSITION 
HTTP_SERVER_HPACK_CONTENT_ENCODING 
HTTP_SERVER_HPACK_CONTENT_LANGUAGE 
HTTP_SERVER_HPACK_CONTENT_LENGTH 
HTTP_SERVER_HPACK_CONTENT_LOCATION 
HTTP_SERVER_HPACK_CONTENT_RANGE 
HTTP_SERVER_HPACK_CONTENT_TYPE 
HTTP_SERVER_HPACK_COOKIE 
HTTP_SERVER_HPACK_DATE 
HTTP_SERVER_HPACK_ETAG 
HTTP_SERVER_HPACK_EXPECT 
HTTP_SERVER_HPACK_EXPIRES 
HTTP_SERVER_HPACK_FROM 
HTTP_SERVER_HPACK_HOST 
HTTP_SERVER_HPACK_IF_MATCH 
HTTP_SERVER_HPACK_IF_MODIFIED_SINCE 
HTTP_SERVER_HPACK_IF_NONE_MATCH 
HTTP_SERVER_HPACK_IF_RANGE 
HTTP_SERVER_HPACK_IF_UNMODIFIED_SINCE 
HTTP_SERVER_HPACK_LAST_MODIFIED 
HTTP_SERVER_HPACK_LINK 
HTTP_SERVER_HPACK_LOCATION 
HTTP_SERVER_HPACK_MAX_FORWARDS 
HTTP_SERVER_HPACK_PROXY_AUTHENTICATE 
HTTP_SERVER_HPACK_PROXY_AUTHORIZATION 
HTTP_SERVER_HPACK_RANGE 
HTTP_SERVER_HPACK_REFERER 
HTTP_SERVER_HPACK_REFRESH 
HTTP_SERVER_HPACK_RETRY_AFTER 
HTTP_SERVER_HPACK_SERVER 
HTTP_SERVER_HPACK_SET_COOKIE 
HTTP_SERVER_HPACK_STRICT_TRANSPORT_SECURITY 
HTTP_SERVER_HPACK_TRANSFER_ENCODING 
HTTP_SERVER_HPACK_USER_AGENT 
HTTP_SERVER_HPACK_VARY 
HTTP_SERVER_HPACK_VIA 
HTTP_SERVER_HPACK_WWW_AUTHENTICATE 

Function Documentation

◆ http_hpack_decode_header()

int http_hpack_decode_header ( const uint8_t buf,
size_t  datalen,
struct http_hpack_header_buf header 
)

◆ http_hpack_encode_header()

int http_hpack_encode_header ( uint8_t buf,
size_t  buflen,
struct http_hpack_header_buf header 
)

◆ http_hpack_huffman_decode()

int http_hpack_huffman_decode ( const uint8_t encoded_buf,
size_t  encoded_len,
uint8_t buf,
size_t  buflen 
)

◆ http_hpack_huffman_encode()

int http_hpack_huffman_encode ( const uint8_t str,
size_t  str_len,
uint8_t buf,
size_t  buflen 
)