]> git.ipfire.org Git - thirdparty/squid.git/blame - src/http/RegisteredHeadersHash.cci
Prep for 4.7
[thirdparty/squid.git] / src / http / RegisteredHeadersHash.cci
CommitLineData
609d5e06
AJ
1/* C++ code produced by gperf version 3.1 */
2/* Command-line: gperf -m 100000 RegisteredHeadersHash.gperf */
81ab22b6
FC
3/* Computed positions: -k'1,9,$' */
4
5#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
609d5e06
AJ
6 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
7 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
8 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
9 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
10 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
11 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
12 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
13 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
14 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
15 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
16 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
17 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
18 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
19 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
20 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
21 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
22 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
23 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
24 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
25 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
26 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
27 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
81ab22b6 28/* The character set is not based on ISO-646. */
609d5e06 29#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
81ab22b6
FC
30#endif
31
32#line 1 "RegisteredHeadersHash.gperf"
33
34/* AUTO GENERATED FROM RegisteredHeadersHash.gperf. DO NOT EDIT */
35
36/*
f6e9a3ee 37 * Copyright (C) 1996-2019 The Squid Software Foundation and contributors
81ab22b6
FC
38 *
39 * Squid software is distributed under GPLv2+ license and includes
40 * contributions from numerous individuals and organizations.
41 * Please see the COPYING and CONTRIBUTORS files for details.
42 */
43#line 24 "RegisteredHeadersHash.gperf"
44struct HeaderTableRecord;
609d5e06
AJ
45enum
46 {
47 TOTAL_KEYWORDS = 89,
81ab22b6
FC
48 MIN_WORD_LENGTH = 2,
49 MAX_WORD_LENGTH = 25,
609d5e06
AJ
50 MIN_HASH_VALUE = 13,
51 MAX_HASH_VALUE = 114
52 };
81ab22b6 53
609d5e06 54/* maximum key range = 102, duplicates = 0 */
81ab22b6
FC
55
56#ifndef GPERF_DOWNCASE
57#define GPERF_DOWNCASE 1
58static unsigned char gperf_downcase[256] =
609d5e06
AJ
59 {
60 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
61 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
62 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
63 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
64 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
81ab22b6
FC
65 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
66 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
67 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
68 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
69 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
70 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
71 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
72 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
73 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
74 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
75 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
76 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
77 255
609d5e06 78 };
81ab22b6
FC
79#endif
80
81#ifndef GPERF_CASE_MEMCMP
82#define GPERF_CASE_MEMCMP 1
83static int
609d5e06 84gperf_case_memcmp (const char *s1, const char *s2, size_t n)
81ab22b6 85{
609d5e06 86 for (; n > 0;)
81ab22b6 87 {
609d5e06
AJ
88 unsigned char c1 = gperf_downcase[(unsigned char)*s1++];
89 unsigned char c2 = gperf_downcase[(unsigned char)*s2++];
90 if (c1 == c2)
81ab22b6 91 {
609d5e06
AJ
92 n--;
93 continue;
81ab22b6 94 }
609d5e06 95 return (int)c1 - (int)c2;
81ab22b6 96 }
609d5e06 97 return 0;
81ab22b6
FC
98}
99#endif
100
101class HttpHeaderHashTable
102{
103private:
609d5e06 104 static inline unsigned int HttpHeaderHash (const char *str, size_t len);
81ab22b6 105public:
609d5e06 106 static const struct HeaderTableRecord *lookup (const char *str, size_t len);
81ab22b6
FC
107};
108
109inline unsigned int
609d5e06 110HttpHeaderHashTable::HttpHeaderHash (const char *str, size_t len)
81ab22b6 111{
609d5e06 112 static const unsigned char asso_values[] =
81ab22b6 113 {
609d5e06
AJ
114 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
115 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
116 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
117 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
118 115, 115, 27, 115, 115, 4, 115, 115, 115, 115,
119 26, 115, 115, 33, 115, 115, 115, 115, 25, 115,
120 115, 115, 115, 115, 115, 15, 7, 7, 10, 4,
121 33, 66, 42, 22, 115, 63, 10, 33, 18, 44,
122 11, 115, 4, 28, 10, 42, 23, 26, 31, 30,
123 115, 115, 115, 115, 115, 115, 115, 15, 7, 7,
124 10, 4, 33, 66, 42, 22, 115, 63, 10, 33,
125 18, 44, 11, 115, 4, 28, 10, 42, 23, 26,
126 31, 30, 115, 115, 115, 115, 115, 115, 115, 115,
127 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
128 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
129 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
130 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
131 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
132 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
133 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
134 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
135 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
136 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
137 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
138 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
139 115, 115, 115, 115, 115, 115
81ab22b6 140 };
609d5e06 141 unsigned int hval = len;
81ab22b6 142
609d5e06 143 switch (hval)
81ab22b6 144 {
609d5e06
AJ
145 default:
146 hval += asso_values[static_cast<unsigned char>(str[8])];
147 /*FALLTHROUGH*/
148 case 8:
149 case 7:
150 case 6:
151 case 5:
152 case 4:
153 case 3:
154 case 2:
155 case 1:
156 hval += asso_values[static_cast<unsigned char>(str[0])];
81ab22b6
FC
157 break;
158 }
609d5e06 159 return hval + asso_values[static_cast<unsigned char>(str[len - 1])];
81ab22b6
FC
160}
161
162static const unsigned char lengthtable[] =
609d5e06
AJ
163 {
164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
165 0, 7, 2, 6, 4, 5, 6, 7, 3, 0, 6, 13, 8, 9,
166 13, 11, 12, 6, 6, 12, 8, 9, 8, 16, 6, 7, 7, 3,
167 7, 18, 7, 13, 5, 18, 13, 15, 16, 16, 13, 7, 19, 13,
168 4, 4, 19, 17, 15, 13, 9, 16, 10, 17, 14, 19, 6, 11,
169 4, 13, 8, 14, 4, 6, 13, 4, 15, 10, 10, 14, 20, 18,
170 11, 19, 15, 11, 12, 10, 25, 12, 0, 16, 14, 0, 3, 17,
171 0, 7, 10, 0, 0, 0, 0, 10, 0, 13, 0, 0, 13, 21,
172 0, 10, 15
173 };
81ab22b6
FC
174
175static const struct HeaderTableRecord HttpHeaderDefinitionsTable[] =
609d5e06
AJ
176 {
177 {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
178 {""}, {""}, {""}, {""},
81ab22b6 179#line 79 "RegisteredHeadersHash.gperf"
609d5e06 180 {"Range", Http::HdrType::RANGE, Http::HdrFieldType::ftPRange, HdrKind::RequestHeader},
81ab22b6 181 {""},
609d5e06
AJ
182#line 80 "RegisteredHeadersHash.gperf"
183 {"Referer", Http::HdrType::REFERER, Http::HdrFieldType::ftStr, HdrKind::RequestHeader},
81ab22b6 184#line 86 "RegisteredHeadersHash.gperf"
609d5e06
AJ
185 {"TE", Http::HdrType::TE, Http::HdrFieldType::ftStr, HdrKind::RequestHeader|HdrKind::HopByHopHeader},
186#line 48 "RegisteredHeadersHash.gperf"
187 {"Cookie", Http::HdrType::COOKIE, Http::HdrFieldType::ftStr, HdrKind::None},
188#line 50 "RegisteredHeadersHash.gperf"
189 {"Date", Http::HdrType::DATE, Http::HdrFieldType::ftDate_1123, HdrKind::GeneralHeader},
190#line 87 "RegisteredHeadersHash.gperf"
81ab22b6 191 {"Title", Http::HdrType::TITLE, Http::HdrFieldType::ftStr, HdrKind::None},
609d5e06 192#line 52 "RegisteredHeadersHash.gperf"
81ab22b6 193 {"Expect", Http::HdrType::EXPECT, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader},
609d5e06 194#line 88 "RegisteredHeadersHash.gperf"
2d4f252d 195 {"Trailer", Http::HdrType::TRAILER, Http::HdrFieldType::ftStr, HdrKind::HopByHopHeader},
609d5e06
AJ
196#line 31 "RegisteredHeadersHash.gperf"
197 {"Age", Http::HdrType::AGE, Http::HdrFieldType::ftInt, HdrKind::ReplyHeader},
198 {""},
199#line 78 "RegisteredHeadersHash.gperf"
200 {"Public", Http::HdrType::PUBLIC, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
201#line 81 "RegisteredHeadersHash.gperf"
81ab22b6 202 {"Request-Range", Http::HdrType::REQUEST_RANGE, Http::HdrFieldType::ftPRange, HdrKind::None},
609d5e06
AJ
203#line 37 "RegisteredHeadersHash.gperf"
204 {"CDN-Loop", Http::HdrType::CDN_LOOP, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader},
205#line 90 "RegisteredHeadersHash.gperf"
81ab22b6 206 {"Translate", Http::HdrType::TRANSLATE, Http::HdrFieldType::ftStr, HdrKind::None},
609d5e06
AJ
207#line 46 "RegisteredHeadersHash.gperf"
208 {"Content-Range", Http::HdrType::CONTENT_RANGE, Http::HdrFieldType::ftPContRange, HdrKind::EntityHeader},
209#line 82 "RegisteredHeadersHash.gperf"
81ab22b6 210 {"Retry-After", Http::HdrType::RETRY_AFTER, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
609d5e06
AJ
211#line 39 "RegisteredHeadersHash.gperf"
212 {"Content-Base", Http::HdrType::CONTENT_BASE, Http::HdrFieldType::ftStr, HdrKind::EntityHeader},
213#line 26 "RegisteredHeadersHash.gperf"
214 {"Accept", Http::HdrType::ACCEPT, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader},
215#line 72 "RegisteredHeadersHash.gperf"
81ab22b6
FC
216 {"Pragma", Http::HdrType::PRAGMA, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::GeneralHeader},
217#line 47 "RegisteredHeadersHash.gperf"
609d5e06
AJ
218 {"Content-Type", Http::HdrType::CONTENT_TYPE, Http::HdrFieldType::ftStr, HdrKind::EntityHeader},
219#line 61 "RegisteredHeadersHash.gperf"
81ab22b6 220 {"If-Range", Http::HdrType::IF_RANGE, Http::HdrFieldType::ftDate_1123_or_ETag, HdrKind::None},
609d5e06
AJ
221#line 70 "RegisteredHeadersHash.gperf"
222 {"Negotiate", Http::HdrType::NEGOTIATE, Http::HdrFieldType::ftStr, HdrKind::None},
223#line 67 "RegisteredHeadersHash.gperf"
81ab22b6 224 {"Location", Http::HdrType::LOCATION, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
609d5e06
AJ
225#line 42 "RegisteredHeadersHash.gperf"
226 {"Content-Language", Http::HdrType::CONTENT_LANGUAGE, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::EntityHeader},
227#line 83 "RegisteredHeadersHash.gperf"
228 {"Server", Http::HdrType::SERVER, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
229#line 53 "RegisteredHeadersHash.gperf"
230 {"Expires", Http::HdrType::EXPIRES, Http::HdrFieldType::ftDate_1123, HdrKind::EntityHeader},
81ab22b6 231#line 49 "RegisteredHeadersHash.gperf"
609d5e06
AJ
232 {"Cookie2", Http::HdrType::COOKIE2, Http::HdrFieldType::ftStr, HdrKind::None},
233#line 95 "RegisteredHeadersHash.gperf"
234 {"Via", Http::HdrType::VIA, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::GeneralHeader},
235#line 98 "RegisteredHeadersHash.gperf"
81ab22b6 236 {"X-Cache", Http::HdrType::X_CACHE, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
609d5e06
AJ
237#line 73 "RegisteredHeadersHash.gperf"
238 {"Proxy-Authenticate", Http::HdrType::PROXY_AUTHENTICATE, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
239#line 110 "RegisteredHeadersHash.gperf"
240 {"FTP-Pre", Http::HdrType::FTP_PRE, Http::HdrFieldType::ftStr, HdrKind::None},
241#line 77 "RegisteredHeadersHash.gperf"
81ab22b6 242 {"Proxy-support", Http::HdrType::PROXY_SUPPORT, Http::HdrFieldType::ftStr, HdrKind::ListHeader},
81ab22b6 243#line 32 "RegisteredHeadersHash.gperf"
2d4f252d 244 {"Allow", Http::HdrType::ALLOW, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::EntityHeader},
609d5e06
AJ
245#line 33 "RegisteredHeadersHash.gperf"
246 {"Alternate-Protocol", Http::HdrType::ALTERNATE_PROTOCOL, Http::HdrFieldType::ftStr, HdrKind::HopByHopHeader},
81ab22b6
FC
247#line 36 "RegisteredHeadersHash.gperf"
248 {"Cache-Control", Http::HdrType::CACHE_CONTROL, Http::HdrFieldType::ftPCc, HdrKind::ListHeader|HdrKind::GeneralHeader},
609d5e06
AJ
249#line 29 "RegisteredHeadersHash.gperf"
250 {"Accept-Language", Http::HdrType::ACCEPT_LANGUAGE, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader},
251#line 97 "RegisteredHeadersHash.gperf"
252 {"WWW-Authenticate", Http::HdrType::WWW_AUTHENTICATE, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::ReplyHeader},
253#line 44 "RegisteredHeadersHash.gperf"
81ab22b6 254 {"Content-Location", Http::HdrType::CONTENT_LOCATION, Http::HdrFieldType::ftStr, HdrKind::EntityHeader},
609d5e06
AJ
255#line 102 "RegisteredHeadersHash.gperf"
256 {"X-Squid-Error", Http::HdrType::X_SQUID_ERROR, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
257#line 92 "RegisteredHeadersHash.gperf"
258 {"Upgrade", Http::HdrType::UPGRADE, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::GeneralHeader|HdrKind::HopByHopHeader},
259#line 40 "RegisteredHeadersHash.gperf"
260 {"Content-Disposition", Http::HdrType::CONTENT_DISPOSITION, Http::HdrFieldType::ftStr, HdrKind::None},
261#line 65 "RegisteredHeadersHash.gperf"
262 {"Last-Modified", Http::HdrType::LAST_MODIFIED, Http::HdrFieldType::ftDate_1123, HdrKind::EntityHeader},
263#line 56 "RegisteredHeadersHash.gperf"
264 {"Host", Http::HdrType::HOST, Http::HdrFieldType::ftStr, HdrKind::RequestHeader},
265#line 94 "RegisteredHeadersHash.gperf"
266 {"Vary", Http::HdrType::VARY, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::ReplyHeader},
267#line 75 "RegisteredHeadersHash.gperf"
268 {"Proxy-Authorization", Http::HdrType::PROXY_AUTHORIZATION, Http::HdrFieldType::ftStr, HdrKind::RequestHeader|HdrKind::HopByHopHeader},
269#line 106 "RegisteredHeadersHash.gperf"
270 {"Surrogate-Control", Http::HdrType::SURROGATE_CONTROL, Http::HdrFieldType::ftPSc, HdrKind::ListHeader|HdrKind::ReplyHeader},
271#line 100 "RegisteredHeadersHash.gperf"
272 {"X-Forwarded-For", Http::HdrType::X_FORWARDED_FOR, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::GeneralHeader},
273#line 35 "RegisteredHeadersHash.gperf"
274 {"Authorization", Http::HdrType::AUTHORIZATION, Http::HdrFieldType::ftStr, HdrKind::RequestHeader},
275#line 54 "RegisteredHeadersHash.gperf"
276 {"Forwarded", Http::HdrType::FORWARDED, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::GeneralHeader},
277#line 76 "RegisteredHeadersHash.gperf"
278 {"Proxy-Connection", Http::HdrType::PROXY_CONNECTION, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::GeneralHeader|HdrKind::HopByHopHeader},
279#line 84 "RegisteredHeadersHash.gperf"
280 {"Set-Cookie", Http::HdrType::SET_COOKIE, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
281#line 59 "RegisteredHeadersHash.gperf"
81ab22b6 282 {"If-Modified-Since", Http::HdrType::IF_MODIFIED_SINCE, Http::HdrFieldType::ftDate_1123, HdrKind::RequestHeader},
609d5e06
AJ
283#line 99 "RegisteredHeadersHash.gperf"
284 {"X-Cache-Lookup", Http::HdrType::X_CACHE_LOOKUP, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
285#line 62 "RegisteredHeadersHash.gperf"
81ab22b6 286 {"If-Unmodified-Since", Http::HdrType::IF_UNMODIFIED_SINCE, Http::HdrFieldType::ftDate_1123, HdrKind::None},
609d5e06
AJ
287#line 71 "RegisteredHeadersHash.gperf"
288 {"Origin", Http::HdrType::ORIGIN, Http::HdrFieldType::ftStr, HdrKind::RequestHeader},
289#line 108 "RegisteredHeadersHash.gperf"
81ab22b6 290 {"FTP-Command", Http::HdrType::FTP_COMMAND, Http::HdrFieldType::ftStr, HdrKind::None},
609d5e06 291#line 55 "RegisteredHeadersHash.gperf"
81ab22b6 292 {"From", Http::HdrType::FROM, Http::HdrFieldType::ftStr, HdrKind::RequestHeader},
609d5e06
AJ
293#line 30 "RegisteredHeadersHash.gperf"
294 {"Accept-Ranges", Http::HdrType::ACCEPT_RANGES, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::ReplyHeader},
295#line 58 "RegisteredHeadersHash.gperf"
296 {"If-Match", Http::HdrType::IF_MATCH, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader},
297#line 43 "RegisteredHeadersHash.gperf"
298 {"Content-Length", Http::HdrType::CONTENT_LENGTH, Http::HdrFieldType::ftInt64, HdrKind::EntityHeader},
299#line 51 "RegisteredHeadersHash.gperf"
81ab22b6 300 {"ETag", Http::HdrType::ETAG, Http::HdrFieldType::ftETag, HdrKind::EntityHeader},
609d5e06
AJ
301#line 113 "RegisteredHeadersHash.gperf"
302 {"Other:", Http::HdrType::OTHER, Http::HdrFieldType::ftStr, HdrKind::EntityHeader},
303#line 101 "RegisteredHeadersHash.gperf"
81ab22b6 304 {"X-Request-URI", Http::HdrType::X_REQUEST_URI, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
609d5e06
AJ
305#line 66 "RegisteredHeadersHash.gperf"
306 {"Link", Http::HdrType::LINK, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::EntityHeader},
307#line 104 "RegisteredHeadersHash.gperf"
308 {"X-Next-Services", Http::HdrType::X_NEXT_SERVICES, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::ReplyHeader},
309#line 38 "RegisteredHeadersHash.gperf"
2d4f252d 310 {"Connection", Http::HdrType::CONNECTION, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::GeneralHeader|HdrKind::HopByHopHeader},
609d5e06
AJ
311#line 93 "RegisteredHeadersHash.gperf"
312 {"User-Agent", Http::HdrType::USER_AGENT, Http::HdrFieldType::ftStr, HdrKind::RequestHeader},
313#line 27 "RegisteredHeadersHash.gperf"
314 {"Accept-Charset", Http::HdrType::ACCEPT_CHARSET, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader},
315#line 105 "RegisteredHeadersHash.gperf"
316 {"Surrogate-Capability", Http::HdrType::SURROGATE_CAPABILITY, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader},
317#line 103 "RegisteredHeadersHash.gperf"
318 {"X-Accelerator-Vary", Http::HdrType::HDR_X_ACCELERATOR_VARY, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::ReplyHeader},
319#line 45 "RegisteredHeadersHash.gperf"
320 {"Content-MD5", Http::HdrType::CONTENT_MD5, Http::HdrFieldType::ftStr, HdrKind::EntityHeader},
81ab22b6
FC
321#line 34 "RegisteredHeadersHash.gperf"
322 {"Authentication-Info", Http::HdrType::AUTHENTICATION_INFO, Http::HdrFieldType::ftStr, HdrKind::ListHeader},
609d5e06
AJ
323#line 107 "RegisteredHeadersHash.gperf"
324 {"Front-End-Https", Http::HdrType::FRONT_END_HTTPS, Http::HdrFieldType::ftStr, HdrKind::None},
325#line 85 "RegisteredHeadersHash.gperf"
326 {"Set-Cookie2", Http::HdrType::SET_COOKIE2, Http::HdrFieldType::ftStr, HdrKind::ReplyHeader},
327#line 68 "RegisteredHeadersHash.gperf"
328 {"Max-Forwards", Http::HdrType::MAX_FORWARDS, Http::HdrFieldType::ftInt64, HdrKind::RequestHeader},
329#line 114 "RegisteredHeadersHash.gperf"
330 {"*INVALID*:", Http::HdrType::BAD_HDR, Http::HdrFieldType::ftInvalid, HdrKind::None},
331#line 74 "RegisteredHeadersHash.gperf"
332 {"Proxy-Authentication-Info", Http::HdrType::PROXY_AUTHENTICATION_INFO, Http::HdrFieldType::ftStr, HdrKind::ListHeader},
333#line 69 "RegisteredHeadersHash.gperf"
334 {"Mime-Version", Http::HdrType::MIME_VERSION, Http::HdrFieldType::ftStr, HdrKind::GeneralHeader},
81ab22b6 335 {""},
609d5e06 336#line 41 "RegisteredHeadersHash.gperf"
2d4f252d 337 {"Content-Encoding", Http::HdrType::CONTENT_ENCODING, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::EntityHeader},
609d5e06
AJ
338#line 57 "RegisteredHeadersHash.gperf"
339 {"HTTP2-Settings", Http::HdrType::HTTP2_SETTINGS, Http::HdrFieldType::ftStr, HdrKind::RequestHeader|HdrKind::HopByHopHeader},
340 {""},
341#line 64 "RegisteredHeadersHash.gperf"
342 {"Key", Http::HdrType::KEY, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::ReplyHeader},
343#line 89 "RegisteredHeadersHash.gperf"
344 {"Transfer-Encoding", Http::HdrType::TRANSFER_ENCODING, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::GeneralHeader|HdrKind::HopByHopHeader},
345 {""},
346#line 96 "RegisteredHeadersHash.gperf"
81ab22b6 347 {"Warning", Http::HdrType::WARNING, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::ReplyHeader},
609d5e06
AJ
348#line 63 "RegisteredHeadersHash.gperf"
349 {"Keep-Alive", Http::HdrType::KEEP_ALIVE, Http::HdrFieldType::ftStr, HdrKind::HopByHopHeader},
350 {""}, {""}, {""}, {""},
351#line 112 "RegisteredHeadersHash.gperf"
352 {"FTP-Reason", Http::HdrType::FTP_REASON, Http::HdrFieldType::ftStr, HdrKind::None},
353 {""},
354#line 109 "RegisteredHeadersHash.gperf"
355 {"FTP-Arguments", Http::HdrType::FTP_ARGUMENTS, Http::HdrFieldType::ftStr, HdrKind::None},
356 {""}, {""},
357#line 60 "RegisteredHeadersHash.gperf"
81ab22b6 358 {"If-None-Match", Http::HdrType::IF_NONE_MATCH, Http::HdrFieldType::ftStr, HdrKind::ListHeader},
609d5e06
AJ
359#line 91 "RegisteredHeadersHash.gperf"
360 {"Unless-Modified-Since", Http::HdrType::UNLESS_MODIFIED_SINCE, Http::HdrFieldType::ftStr, HdrKind::None},
361 {""},
362#line 111 "RegisteredHeadersHash.gperf"
363 {"FTP-Status", Http::HdrType::FTP_STATUS, Http::HdrFieldType::ftInt, HdrKind::None},
364#line 28 "RegisteredHeadersHash.gperf"
365 {"Accept-Encoding", Http::HdrType::ACCEPT_ENCODING, Http::HdrFieldType::ftStr, HdrKind::ListHeader|HdrKind::RequestHeader|HdrKind::ReplyHeader}
366 };
81ab22b6
FC
367
368const struct HeaderTableRecord *
609d5e06 369HttpHeaderHashTable::lookup (const char *str, size_t len)
81ab22b6 370{
609d5e06 371 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
81ab22b6 372 {
609d5e06 373 unsigned int key = HttpHeaderHash (str, len);
81ab22b6 374
609d5e06
AJ
375 if (key <= MAX_HASH_VALUE)
376 if (len == lengthtable[key])
377 {
378 const char *s = HttpHeaderDefinitionsTable[key].name;
81ab22b6 379
609d5e06
AJ
380 if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_memcmp (str, s, len))
381 return &HttpHeaderDefinitionsTable[key];
382 }
81ab22b6 383 }
609d5e06 384 return 0;
81ab22b6 385}
609d5e06 386#line 115 "RegisteredHeadersHash.gperf"
81ab22b6 387