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