1*1c60b9acSAndroid Build Coastguard Worker /* set of parsable strings -- ALL LOWER CASE */ 2*1c60b9acSAndroid Build Coastguard Worker 3*1c60b9acSAndroid Build Coastguard Worker static const char * const set[] = { 4*1c60b9acSAndroid Build Coastguard Worker "get ", 5*1c60b9acSAndroid Build Coastguard Worker "post ", 6*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL) 7*1c60b9acSAndroid Build Coastguard Worker "options ", 8*1c60b9acSAndroid Build Coastguard Worker #endif 9*1c60b9acSAndroid Build Coastguard Worker "host:", 10*1c60b9acSAndroid Build Coastguard Worker "connection:", 11*1c60b9acSAndroid Build Coastguard Worker "upgrade:", 12*1c60b9acSAndroid Build Coastguard Worker "origin:", 13*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_ROLE_WS) || defined(LWS_HTTP_HEADERS_ALL) 14*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-draft:", 15*1c60b9acSAndroid Build Coastguard Worker #endif 16*1c60b9acSAndroid Build Coastguard Worker "\x0d\x0a", 17*1c60b9acSAndroid Build Coastguard Worker 18*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_ROLE_WS) || defined(LWS_HTTP_HEADERS_ALL) 19*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-extensions:", 20*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-key1:", 21*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-key2:", 22*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-protocol:", 23*1c60b9acSAndroid Build Coastguard Worker 24*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-accept:", 25*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-nonce:", 26*1c60b9acSAndroid Build Coastguard Worker #endif 27*1c60b9acSAndroid Build Coastguard Worker "http/1.1 ", 28*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 29*1c60b9acSAndroid Build Coastguard Worker "http2-settings:", 30*1c60b9acSAndroid Build Coastguard Worker #endif 31*1c60b9acSAndroid Build Coastguard Worker 32*1c60b9acSAndroid Build Coastguard Worker "accept:", 33*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL) 34*1c60b9acSAndroid Build Coastguard Worker "access-control-request-headers:", 35*1c60b9acSAndroid Build Coastguard Worker #endif 36*1c60b9acSAndroid Build Coastguard Worker "if-modified-since:", 37*1c60b9acSAndroid Build Coastguard Worker "if-none-match:", 38*1c60b9acSAndroid Build Coastguard Worker "accept-encoding:", 39*1c60b9acSAndroid Build Coastguard Worker "accept-language:", 40*1c60b9acSAndroid Build Coastguard Worker "pragma:", 41*1c60b9acSAndroid Build Coastguard Worker "cache-control:", 42*1c60b9acSAndroid Build Coastguard Worker "authorization:", 43*1c60b9acSAndroid Build Coastguard Worker "cookie:", 44*1c60b9acSAndroid Build Coastguard Worker "content-length:", 45*1c60b9acSAndroid Build Coastguard Worker "content-type:", 46*1c60b9acSAndroid Build Coastguard Worker "date:", 47*1c60b9acSAndroid Build Coastguard Worker "range:", 48*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 49*1c60b9acSAndroid Build Coastguard Worker "referer:", 50*1c60b9acSAndroid Build Coastguard Worker #endif 51*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_ROLE_WS) || defined(LWS_HTTP_HEADERS_ALL) 52*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-key:", 53*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-version:", 54*1c60b9acSAndroid Build Coastguard Worker "sec-websocket-origin:", 55*1c60b9acSAndroid Build Coastguard Worker #endif 56*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 57*1c60b9acSAndroid Build Coastguard Worker ":authority", 58*1c60b9acSAndroid Build Coastguard Worker ":method", 59*1c60b9acSAndroid Build Coastguard Worker ":path", 60*1c60b9acSAndroid Build Coastguard Worker ":scheme", 61*1c60b9acSAndroid Build Coastguard Worker ":status", 62*1c60b9acSAndroid Build Coastguard Worker #endif 63*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 64*1c60b9acSAndroid Build Coastguard Worker "accept-charset:", 65*1c60b9acSAndroid Build Coastguard Worker #endif 66*1c60b9acSAndroid Build Coastguard Worker "accept-ranges:", 67*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 68*1c60b9acSAndroid Build Coastguard Worker "access-control-allow-origin:", 69*1c60b9acSAndroid Build Coastguard Worker #endif 70*1c60b9acSAndroid Build Coastguard Worker "age:", 71*1c60b9acSAndroid Build Coastguard Worker "allow:", 72*1c60b9acSAndroid Build Coastguard Worker "content-disposition:", 73*1c60b9acSAndroid Build Coastguard Worker "content-encoding:", 74*1c60b9acSAndroid Build Coastguard Worker "content-language:", 75*1c60b9acSAndroid Build Coastguard Worker "content-location:", 76*1c60b9acSAndroid Build Coastguard Worker "content-range:", 77*1c60b9acSAndroid Build Coastguard Worker "etag:", 78*1c60b9acSAndroid Build Coastguard Worker "expect:", 79*1c60b9acSAndroid Build Coastguard Worker "expires:", 80*1c60b9acSAndroid Build Coastguard Worker "from:", 81*1c60b9acSAndroid Build Coastguard Worker "if-match:", 82*1c60b9acSAndroid Build Coastguard Worker "if-range:", 83*1c60b9acSAndroid Build Coastguard Worker "if-unmodified-since:", 84*1c60b9acSAndroid Build Coastguard Worker "last-modified:", 85*1c60b9acSAndroid Build Coastguard Worker "link:", 86*1c60b9acSAndroid Build Coastguard Worker "location:", 87*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 88*1c60b9acSAndroid Build Coastguard Worker "max-forwards:", 89*1c60b9acSAndroid Build Coastguard Worker "proxy-authenticate:", 90*1c60b9acSAndroid Build Coastguard Worker "proxy-authorization:", 91*1c60b9acSAndroid Build Coastguard Worker #endif 92*1c60b9acSAndroid Build Coastguard Worker "refresh:", 93*1c60b9acSAndroid Build Coastguard Worker "retry-after:", 94*1c60b9acSAndroid Build Coastguard Worker "server:", 95*1c60b9acSAndroid Build Coastguard Worker "set-cookie:", 96*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 97*1c60b9acSAndroid Build Coastguard Worker "strict-transport-security:", 98*1c60b9acSAndroid Build Coastguard Worker #endif 99*1c60b9acSAndroid Build Coastguard Worker "transfer-encoding:", 100*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 101*1c60b9acSAndroid Build Coastguard Worker "user-agent:", 102*1c60b9acSAndroid Build Coastguard Worker "vary:", 103*1c60b9acSAndroid Build Coastguard Worker "via:", 104*1c60b9acSAndroid Build Coastguard Worker "www-authenticate:", 105*1c60b9acSAndroid Build Coastguard Worker #endif 106*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL) 107*1c60b9acSAndroid Build Coastguard Worker "patch", 108*1c60b9acSAndroid Build Coastguard Worker "put", 109*1c60b9acSAndroid Build Coastguard Worker "delete", 110*1c60b9acSAndroid Build Coastguard Worker #endif 111*1c60b9acSAndroid Build Coastguard Worker 112*1c60b9acSAndroid Build Coastguard Worker "uri-args", /* fake header used for uri-only storage */ 113*1c60b9acSAndroid Build Coastguard Worker 114*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_HTTP_HEADERS_ALL) 115*1c60b9acSAndroid Build Coastguard Worker "proxy ", 116*1c60b9acSAndroid Build Coastguard Worker "x-real-ip:", 117*1c60b9acSAndroid Build Coastguard Worker #endif 118*1c60b9acSAndroid Build Coastguard Worker "http/1.0 ", 119*1c60b9acSAndroid Build Coastguard Worker 120*1c60b9acSAndroid Build Coastguard Worker "x-forwarded-for:", 121*1c60b9acSAndroid Build Coastguard Worker "connect ", 122*1c60b9acSAndroid Build Coastguard Worker "head ", 123*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_WITH_HTTP_UNCOMMON_HEADERS) || defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 124*1c60b9acSAndroid Build Coastguard Worker "te:", /* http/2 wants it to reject it */ 125*1c60b9acSAndroid Build Coastguard Worker "replay-nonce:", /* ACME */ 126*1c60b9acSAndroid Build Coastguard Worker #endif 127*1c60b9acSAndroid Build Coastguard Worker #if defined(LWS_ROLE_H2) || defined(LWS_HTTP_HEADERS_ALL) 128*1c60b9acSAndroid Build Coastguard Worker ":protocol", /* defined in mcmanus-httpbis-h2-ws-02 */ 129*1c60b9acSAndroid Build Coastguard Worker #endif 130*1c60b9acSAndroid Build Coastguard Worker 131*1c60b9acSAndroid Build Coastguard Worker "x-auth-token:", 132*1c60b9acSAndroid Build Coastguard Worker "x-amzn-dss-signature:", 133*1c60b9acSAndroid Build Coastguard Worker 134*1c60b9acSAndroid Build Coastguard Worker "", /* not matchable */ 135*1c60b9acSAndroid Build Coastguard Worker 136*1c60b9acSAndroid Build Coastguard Worker }; 137