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