]> git.ipfire.org Git - thirdparty/squid.git/blob - src/http/RegisteredHeaders.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / http / RegisteredHeaders.h
1 /*
2 * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9 #ifndef SQUID_HTTP_REGISTEREDHEADERS_H
10 #define SQUID_HTTP_REGISTEREDHEADERS_H
11
12 /// recognized or "known" header fields; and the RFC which defines them (or not)
13 /// http://www.iana.org/assignments/message-headers/message-headers.xhtml
14 typedef enum {
15 HDR_BAD_HDR = -1,
16 HDR_ACCEPT = 0, /**< RFC 7231 */
17 HDR_ACCEPT_CHARSET, /**< RFC 7231 */
18 HDR_ACCEPT_ENCODING, /**< RFC 7231 */
19 /*HDR_ACCEPT_FEATURES,*/ /* RFC 2295 */
20 HDR_ACCEPT_LANGUAGE, /**< RFC 7231 */
21 HDR_ACCEPT_RANGES, /**< RFC 7233 */
22 HDR_AGE, /**< RFC 7234 */
23 HDR_ALLOW, /**< RFC 7231 */
24 HDR_ALTERNATE_PROTOCOL, /**< GFE custom header we may have to erase */
25 HDR_AUTHENTICATION_INFO, /**< RFC 2617 */
26 HDR_AUTHORIZATION, /**< RFC 7235, 4559 */
27 HDR_CACHE_CONTROL, /**< RFC 7234 */
28 HDR_CONNECTION, /**< RFC 7230 */
29 HDR_CONTENT_BASE, /**< obsoleted RFC 2068 */
30 HDR_CONTENT_DISPOSITION, /**< RFC 2183, 6266 */
31 HDR_CONTENT_ENCODING, /**< RFC 7231 */
32 HDR_CONTENT_LANGUAGE, /**< RFC 7231 */
33 HDR_CONTENT_LENGTH, /**< RFC 7230 */
34 HDR_CONTENT_LOCATION, /**< RFC 7231 */
35 HDR_CONTENT_MD5, /**< deprecated, RFC 2616 */
36 HDR_CONTENT_RANGE, /**< RFC 7233 */
37 HDR_CONTENT_TYPE, /**< RFC 7231 */
38 HDR_COOKIE, /**< RFC 6265 header we may need to erase */
39 HDR_COOKIE2, /**< obsolete RFC 2965 header we may need to erase */
40 HDR_DATE, /**< RFC 7231 */
41 /*HDR_DAV,*/ /* RFC 2518 */
42 /*HDR_DEPTH,*/ /* RFC 2518 */
43 /*HDR_DERIVED_FROM,*/ /* deprecated RFC 2068 */
44 /*HDR_DESTINATION,*/ /* RFC 2518 */
45 HDR_ETAG, /**< RFC 7232 */
46 HDR_EXPECT, /**< RFC 7231 */
47 HDR_EXPIRES, /**< RFC 7234 */
48 HDR_FORWARDED, /**< RFC 7239 */
49 HDR_FROM, /**< RFC 7231 */
50 HDR_HOST, /**< RFC 7230 */
51 HDR_HTTP2_SETTINGS, /**< HTTP/2.0 upgrade header. see draft-ietf-httpbis-http2-13 */
52 /*HDR_IF,*/ /* RFC 2518 */
53 HDR_IF_MATCH, /**< RFC 7232 */
54 HDR_IF_MODIFIED_SINCE, /**< RFC 7232 */
55 HDR_IF_NONE_MATCH, /**< RFC 7232 */
56 HDR_IF_RANGE, /**< RFC 7233 */
57 HDR_IF_UNMODIFIED_SINCE, /**< RFC 7232 */
58 HDR_KEEP_ALIVE, /**< obsoleted RFC 2068 header we may need to erase */
59 HDR_KEY, /**< experimental RFC Draft draft-fielding-http-key-02 */
60 HDR_LAST_MODIFIED, /**< RFC 7232 */
61 HDR_LINK, /**< RFC 5988 */
62 HDR_LOCATION, /**< RFC 7231 */
63 /*HDR_LOCK_TOKEN,*/ /* RFC 2518 */
64 HDR_MAX_FORWARDS, /**< RFC 7231 */
65 HDR_MIME_VERSION, /**< RFC 2045, 7231 */
66 HDR_NEGOTIATE, /**< experimental RFC 2295. Why only this one from 2295? */
67 /*HDR_OVERWRITE,*/ /* RFC 2518 */
68 HDR_ORIGIN, /* CORS Draft specification (see http://www.w3.org/TR/cors/) */
69 HDR_PRAGMA, /**< RFC 7234 */
70 HDR_PROXY_AUTHENTICATE, /**< RFC 7235 */
71 HDR_PROXY_AUTHENTICATION_INFO, /**< RFC 2617 */
72 HDR_PROXY_AUTHORIZATION, /**< RFC 7235 */
73 HDR_PROXY_CONNECTION, /**< obsolete Netscape header we may need to erase. */
74 HDR_PROXY_SUPPORT, /**< RFC 4559 */
75 HDR_PUBLIC, /**< RFC 2068 */
76 HDR_RANGE, /**< RFC 7233 */
77 HDR_REFERER, /**< RFC 7231 */
78 HDR_REQUEST_RANGE, /**< some clients use this, sigh */
79 HDR_RETRY_AFTER, /**< RFC 7231 */
80 HDR_SERVER, /**< RFC 7231 */
81 HDR_SET_COOKIE, /**< RFC 6265 header we may need to erase */
82 HDR_SET_COOKIE2, /**< obsoleted RFC 2965 header we may need to erase */
83 /*HDR_STATUS_URI,*/ /* RFC 2518 */
84 /*HDR_TCN,*/ /* experimental RFC 2295 */
85 HDR_TE, /**< RFC 7230 */
86 /*HDR_TIMEOUT,*/ /* RFC 2518 */
87 HDR_TITLE, /* obsolete draft suggested header */
88 HDR_TRAILER, /**< RFC 7230 */
89 HDR_TRANSFER_ENCODING, /**< RFC 7230 */
90 HDR_TRANSLATE, /**< IIS custom header we may need to erase */
91 HDR_UNLESS_MODIFIED_SINCE, /**< IIS custom header we may need to erase */
92 HDR_UPGRADE, /**< RFC 7230 */
93 HDR_USER_AGENT, /**< RFC 7231 */
94 /*HDR_VARIANT_VARY,*/ /* experimental RFC 2295 */
95 HDR_VARY, /**< RFC 7231 */
96 HDR_VIA, /**< RFC 7230 */
97 HDR_WARNING, /**< RFC 7234 */
98 HDR_WWW_AUTHENTICATE, /**< RFC 7235, 4559 */
99 HDR_X_CACHE, /**< Squid custom header */
100 HDR_X_CACHE_LOOKUP, /**< Squid custom header. temporary hack that became de-facto. TODO remove */
101 HDR_X_FORWARDED_FOR, /**< obsolete Squid custom header, RFC 7239 */
102 HDR_X_REQUEST_URI, /**< Squid custom header appended if ADD_X_REQUEST_URI is defined */
103 HDR_X_SQUID_ERROR, /**< Squid custom header on generated error responses */
104 #if X_ACCELERATOR_VARY
105 HDR_X_ACCELERATOR_VARY, /**< obsolete Squid custom header. */
106 #endif
107 #if USE_ADAPTATION
108 HDR_X_NEXT_SERVICES, /**< Squid custom ICAP header */
109 #endif
110 HDR_SURROGATE_CAPABILITY, /**< Edge Side Includes (ESI) header */
111 HDR_SURROGATE_CONTROL, /**< Edge Side Includes (ESI) header */
112 HDR_FRONT_END_HTTPS, /**< MS Exchange custom header we may have to add */
113 HDR_FTP_COMMAND, /**< Internal header for FTP command */
114 HDR_FTP_ARGUMENTS, /**< Internal header for FTP command arguments */
115 HDR_FTP_PRE, /**< Internal header containing leading FTP control response lines */
116 HDR_FTP_STATUS, /**< Internal header for FTP reply status */
117 HDR_FTP_REASON, /**< Internal header for FTP reply reason */
118 HDR_OTHER, /**< internal tag value for "unknown" headers */
119 HDR_ENUM_END
120 } http_hdr_type;
121
122 #endif /* SQUID_HTTP_REGISTEREDHEADERS_H */
123