mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
http: add cmake option for header reduction defeat
Lws now strips out http headers releated to h2, ws and unusual headers based on cmake config settings for those features... it saves some heap for the ah and reduces the table size in .rodata. It's possible code might have some external dependency on the original header indexes, but, eg, you don't enable h2 so those indexes are optimized with the h2 ones taken out. This introduces a cmake option "LWS_HTTP_HEADERS_ALL", default-OFF, that defeats the header table optimization for compatibility with older versions in the case the client software can't be adapted to use the lws-exported matching header enums. You probably don't need this.
This commit is contained in:
parent
e72fe1bc4d
commit
99e778ac08
7 changed files with 78 additions and 64 deletions
|
@ -172,6 +172,7 @@ option(LWS_WITH_UDP "Platform supports UDP" ON)
|
|||
option(LWS_WITH_SPAWN "Spawn subprocesses with piped stdin/out/stderr" OFF)
|
||||
option(LWS_WITH_FSMOUNT "Overlayfs and fallback mounting apis" OFF)
|
||||
option(LWS_WITH_FANALYZER "Enable gcc -fanalyzer if compiler supports" OFF)
|
||||
option(LWS_HTTP_HEADERS_ALL "Override header reduction optimization and include all like older lws versions" OFF)
|
||||
|
||||
#
|
||||
# to use miniz, enable both LWS_WITH_ZLIB and LWS_WITH_MINIZ
|
||||
|
|
|
@ -132,6 +132,7 @@
|
|||
#cmakedefine LWS_WITH_HTTP2
|
||||
#cmakedefine LWS_WITH_HTTP_BASIC_AUTH
|
||||
#cmakedefine LWS_WITH_HTTP_BROTLI
|
||||
#cmakedefine LWS_HTTP_HEADERS_ALL
|
||||
#cmakedefine LWS_WITH_HTTP_PROXY
|
||||
#cmakedefine LWS_WITH_HTTP_STREAM_COMPRESSION
|
||||
#cmakedefine LWS_WITH_HTTP_UNCOMMON_HEADERS
|
||||
|
|
|
@ -215,18 +215,18 @@ struct lws_tokens {
|
|||
enum lws_token_indexes {
|
||||
WSI_TOKEN_GET_URI, /* 0 */
|
||||
WSI_TOKEN_POST_URI,
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_OPTIONS_URI,
|
||||
#endif
|
||||
WSI_TOKEN_HOST,
|
||||
WSI_TOKEN_CONNECTION,
|
||||
WSI_TOKEN_UPGRADE, /* 5 */
|
||||
WSI_TOKEN_ORIGIN,
|
||||
#if defined(LWS_ROLE_WS)
|
||||
#if defined(LWS_ROLE_WS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_DRAFT,
|
||||
#endif
|
||||
WSI_TOKEN_CHALLENGE,
|
||||
#if defined(LWS_ROLE_WS)
|
||||
#if defined(LWS_ROLE_WS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_EXTENSIONS,
|
||||
WSI_TOKEN_KEY1, /* 10 */
|
||||
WSI_TOKEN_KEY2,
|
||||
|
@ -235,11 +235,11 @@ enum lws_token_indexes {
|
|||
WSI_TOKEN_NONCE,
|
||||
#endif
|
||||
WSI_TOKEN_HTTP,
|
||||
#if defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_HTTP2_SETTINGS, /* 16 */
|
||||
#endif
|
||||
WSI_TOKEN_HTTP_ACCEPT,
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_HTTP_AC_REQUEST_HEADERS,
|
||||
#endif
|
||||
WSI_TOKEN_HTTP_IF_MODIFIED_SINCE,
|
||||
|
@ -254,15 +254,15 @@ enum lws_token_indexes {
|
|||
WSI_TOKEN_HTTP_CONTENT_TYPE,
|
||||
WSI_TOKEN_HTTP_DATE,
|
||||
WSI_TOKEN_HTTP_RANGE,
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_HTTP_REFERER,
|
||||
#endif
|
||||
#if defined(LWS_ROLE_WS)
|
||||
#if defined(LWS_ROLE_WS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_KEY,
|
||||
WSI_TOKEN_VERSION,
|
||||
WSI_TOKEN_SWORIGIN,
|
||||
#endif
|
||||
#if defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_HTTP_COLON_AUTHORITY,
|
||||
WSI_TOKEN_HTTP_COLON_METHOD,
|
||||
WSI_TOKEN_HTTP_COLON_PATH,
|
||||
|
@ -270,11 +270,11 @@ enum lws_token_indexes {
|
|||
WSI_TOKEN_HTTP_COLON_STATUS,
|
||||
#endif
|
||||
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_HTTP_ACCEPT_CHARSET,
|
||||
#endif
|
||||
WSI_TOKEN_HTTP_ACCEPT_RANGES,
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_HTTP_ACCESS_CONTROL_ALLOW_ORIGIN,
|
||||
#endif
|
||||
WSI_TOKEN_HTTP_AGE,
|
||||
|
@ -294,7 +294,7 @@ enum lws_token_indexes {
|
|||
WSI_TOKEN_HTTP_LAST_MODIFIED,
|
||||
WSI_TOKEN_HTTP_LINK,
|
||||
WSI_TOKEN_HTTP_LOCATION,
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_HTTP_MAX_FORWARDS,
|
||||
WSI_TOKEN_HTTP_PROXY_AUTHENTICATE,
|
||||
WSI_TOKEN_HTTP_PROXY_AUTHORIZATION,
|
||||
|
@ -303,24 +303,24 @@ enum lws_token_indexes {
|
|||
WSI_TOKEN_HTTP_RETRY_AFTER,
|
||||
WSI_TOKEN_HTTP_SERVER,
|
||||
WSI_TOKEN_HTTP_SET_COOKIE,
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_HTTP_STRICT_TRANSPORT_SECURITY,
|
||||
#endif
|
||||
WSI_TOKEN_HTTP_TRANSFER_ENCODING,
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_HTTP_USER_AGENT,
|
||||
WSI_TOKEN_HTTP_VARY,
|
||||
WSI_TOKEN_HTTP_VIA,
|
||||
WSI_TOKEN_HTTP_WWW_AUTHENTICATE,
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_PATCH_URI,
|
||||
WSI_TOKEN_PUT_URI,
|
||||
WSI_TOKEN_DELETE_URI,
|
||||
#endif
|
||||
|
||||
WSI_TOKEN_HTTP_URI_ARGS,
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_PROXY,
|
||||
WSI_TOKEN_HTTP_X_REAL_IP,
|
||||
#endif
|
||||
|
@ -328,11 +328,11 @@ enum lws_token_indexes {
|
|||
WSI_TOKEN_X_FORWARDED_FOR,
|
||||
WSI_TOKEN_CONNECT,
|
||||
WSI_TOKEN_HEAD_URI,
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_TE,
|
||||
WSI_TOKEN_REPLAY_NONCE, /* ACME */
|
||||
#endif
|
||||
#if defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_COLON_PROTOCOL,
|
||||
#endif
|
||||
WSI_TOKEN_X_AUTH_TOKEN,
|
||||
|
@ -356,7 +356,7 @@ enum lws_token_indexes {
|
|||
|
||||
/* parser state additions, no storage associated */
|
||||
WSI_TOKEN_NAME_PART,
|
||||
#if defined(LWS_WITH_CUSTOM_HEADERS)
|
||||
#if defined(LWS_WITH_CUSTOM_HEADERS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
WSI_TOKEN_UNKNOWN_VALUE_PART,
|
||||
#endif
|
||||
WSI_TOKEN_SKIPPING,
|
||||
|
|
|
@ -754,42 +754,42 @@ lws_hpack_use_idx_hdr(struct lws *wsi, int idx, int known_token)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x03,0x00,0x80,0x0f,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x07,0x00,0x00,0x3e,0x00,0x00,0x00,0x80,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x03,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_HTTP_HEADERS_ALL) || (defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2))
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x07,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00,0x0e,0x04,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
|
|
|
@ -3,19 +3,19 @@
|
|||
static const char * const set[] = {
|
||||
"get ",
|
||||
"post ",
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"options ",
|
||||
#endif
|
||||
"host:",
|
||||
"connection:",
|
||||
"upgrade:",
|
||||
"origin:",
|
||||
#if defined(LWS_ROLE_WS)
|
||||
#if defined(LWS_ROLE_WS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"sec-websocket-draft:",
|
||||
#endif
|
||||
"\x0d\x0a",
|
||||
|
||||
#if defined(LWS_ROLE_WS)
|
||||
#if defined(LWS_ROLE_WS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"sec-websocket-extensions:",
|
||||
"sec-websocket-key1:",
|
||||
"sec-websocket-key2:",
|
||||
|
@ -25,12 +25,12 @@ static const char * const set[] = {
|
|||
"sec-websocket-nonce:",
|
||||
#endif
|
||||
"http/1.1 ",
|
||||
#if defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"http2-settings:",
|
||||
#endif
|
||||
|
||||
"accept:",
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"access-control-request-headers:",
|
||||
#endif
|
||||
"if-modified-since:",
|
||||
|
@ -45,26 +45,26 @@ static const char * const set[] = {
|
|||
"content-type:",
|
||||
"date:",
|
||||
"range:",
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"referer:",
|
||||
#endif
|
||||
#if defined(LWS_ROLE_WS)
|
||||
#if defined(LWS_ROLE_WS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"sec-websocket-key:",
|
||||
"sec-websocket-version:",
|
||||
"sec-websocket-origin:",
|
||||
#endif
|
||||
#if defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
":authority",
|
||||
":method",
|
||||
":path",
|
||||
":scheme",
|
||||
":status",
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"accept-charset:",
|
||||
#endif
|
||||
"accept-ranges:",
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"access-control-allow-origin:",
|
||||
#endif
|
||||
"age:",
|
||||
|
@ -84,7 +84,7 @@ static const char * const set[] = {
|
|||
"last-modified:",
|
||||
"link:",
|
||||
"location:",
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"max-forwards:",
|
||||
"proxy-authenticate:",
|
||||
"proxy-authorization:",
|
||||
|
@ -93,17 +93,17 @@ static const char * const set[] = {
|
|||
"retry-after:",
|
||||
"server:",
|
||||
"set-cookie:",
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"strict-transport-security:",
|
||||
#endif
|
||||
"transfer-encoding:",
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"user-agent:",
|
||||
"vary:",
|
||||
"via:",
|
||||
"www-authenticate:",
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"patch",
|
||||
"put",
|
||||
"delete",
|
||||
|
@ -111,7 +111,7 @@ static const char * const set[] = {
|
|||
|
||||
"uri-args", /* fake header used for uri-only storage */
|
||||
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"proxy ",
|
||||
"x-real-ip:",
|
||||
#endif
|
||||
|
@ -120,11 +120,11 @@ static const char * const set[] = {
|
|||
"x-forwarded-for:",
|
||||
"connect ",
|
||||
"head ",
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
"te:", /* http/2 wants it to reject it */
|
||||
"replay-nonce:", /* ACME */
|
||||
#endif
|
||||
#if defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL)
|
||||
":protocol", /* defined in mcmanus-httpbis-h2-ws-02 */
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
/* 0: 0: get */
|
||||
/* 1: 1: post */
|
||||
/* 2: 3: host: */
|
||||
|
@ -522,7 +522,7 @@
|
|||
/* total size 662 bytes */
|
||||
#endif
|
||||
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
/* 0: 0: get */
|
||||
/* 1: 1: post */
|
||||
/* 2: 2: options */
|
||||
|
@ -1290,7 +1290,7 @@
|
|||
/* total size 968 bytes */
|
||||
#endif
|
||||
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
/* 0: 0: get */
|
||||
/* 1: 1: post */
|
||||
/* 2: 3: host: */
|
||||
|
@ -2134,7 +2134,7 @@
|
|||
/* total size 1088 bytes */
|
||||
#endif
|
||||
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
/* 0: 0: get */
|
||||
/* 1: 1: post */
|
||||
/* 2: 2: options */
|
||||
|
@ -2998,7 +2998,7 @@
|
|||
/* total size 1088 bytes */
|
||||
#endif
|
||||
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
/* 0: 0: get */
|
||||
/* 1: 1: post */
|
||||
/* 2: 3: host: */
|
||||
|
@ -3912,7 +3912,7 @@
|
|||
/* total size 1177 bytes */
|
||||
#endif
|
||||
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
/* 0: 0: get */
|
||||
/* 1: 1: post */
|
||||
/* 2: 2: options */
|
||||
|
@ -4833,7 +4833,7 @@
|
|||
/* total size 1177 bytes */
|
||||
#endif
|
||||
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
/* 0: 0: get */
|
||||
/* 1: 1: post */
|
||||
/* 2: 3: host: */
|
||||
|
@ -5757,7 +5757,7 @@
|
|||
/* total size 1177 bytes */
|
||||
#endif
|
||||
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_HTTP_HEADERS_ALL) || (defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2))
|
||||
/* 0: 0: get */
|
||||
/* 1: 1: post */
|
||||
/* 2: 2: options */
|
||||
|
@ -6690,42 +6690,42 @@
|
|||
|
||||
|
||||
/*
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && !defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x10,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x03,0x00,0x80,0x0f,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && !defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x07,0x00,0x00,0x3e,0x00,0x00,0x00,0x80,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if !defined(LWS_HTTP_HEADERS_ALL) && !defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x03,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
#endif
|
||||
#if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2)
|
||||
#if defined(LWS_HTTP_HEADERS_ALL) || (defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && defined(LWS_ROLE_WS) && defined(LWS_ROLE_H2))
|
||||
static uint8_t lws_header_implies_psuedoheader_map[] = {
|
||||
0x07,0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00,0x0e,0x04,0x00,0x00,0x00,0x00,0x00,
|
||||
};
|
||||
|
|
|
@ -249,10 +249,16 @@ int issue(int version)
|
|||
|
||||
memset(rset, 0, sizeof(rset));
|
||||
|
||||
printf("#if %cdefined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && "
|
||||
"%cdefined(LWS_ROLE_WS) && "
|
||||
"%cdefined(LWS_ROLE_H2)\n", version & 1 ? ' ' : '!',
|
||||
version & 2 ? ' ' : '!', version & 4 ? ' ' : '!');
|
||||
if (version == 7)
|
||||
printf("#if defined(LWS_HTTP_HEADERS_ALL) || (%cdefined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && "
|
||||
"%cdefined(LWS_ROLE_WS) && "
|
||||
"%cdefined(LWS_ROLE_H2))\n", version & 1 ? ' ' : '!',
|
||||
version & 2 ? ' ' : '!', version & 4 ? ' ' : '!');
|
||||
else
|
||||
printf("#if !defined(LWS_HTTP_HEADERS_ALL) && %cdefined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && "
|
||||
"%cdefined(LWS_ROLE_WS) && "
|
||||
"%cdefined(LWS_ROLE_H2)\n", version & 1 ? ' ' : '!',
|
||||
version & 2 ? ' ' : '!', version & 4 ? ' ' : '!');
|
||||
|
||||
/*
|
||||
* let's create version's view of the set of strings
|
||||
|
@ -467,7 +473,13 @@ int main(void)
|
|||
|
||||
for (n = 0; n < 8; n++) {
|
||||
|
||||
printf("#if %cdefined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && "
|
||||
if (n == 7)
|
||||
printf("#if defined(LWS_HTTP_HEADERS_ALL) || (%cdefined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && "
|
||||
"%cdefined(LWS_ROLE_WS) && "
|
||||
"%cdefined(LWS_ROLE_H2))\n", n & 1 ? ' ' : '!',
|
||||
n & 2 ? ' ' : '!', n & 4 ? ' ' : '!');
|
||||
else
|
||||
printf("#if !defined(LWS_HTTP_HEADERS_ALL) && %cdefined(LWS_WITH_HTTP_UNCOMMON_HEADERS) && "
|
||||
"%cdefined(LWS_ROLE_WS) && "
|
||||
"%cdefined(LWS_ROLE_H2)\n", n & 1 ? ' ' : '!',
|
||||
n & 2 ? ' ' : '!', n & 4 ? ' ' : '!');
|
||||
|
|
Loading…
Add table
Reference in a new issue