]>
Commit | Line | Data |
---|---|---|
1 | /* | |
2 | * Copyright (C) 1996-2018 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_SRC_HTTP_STATUSCODE_H | |
10 | #define _SQUID_SRC_HTTP_STATUSCODE_H | |
11 | ||
12 | namespace Http | |
13 | { | |
14 | ||
15 | /** | |
16 | * These basic HTTP reply status codes are defined by RFC 2616 unless otherwise stated. | |
17 | * The IANA registry for HTTP status codes can be found at: | |
18 | * http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml | |
19 | */ | |
20 | typedef enum { | |
21 | scNone = 0, | |
22 | scContinue = 100, | |
23 | scSwitchingProtocols = 101, | |
24 | scProcessing = 102, /**< RFC2518 section 10.1 */ | |
25 | scEarlyHints = 103, /**< draft-kazuho-early-hints-status-code */ | |
26 | scOkay = 200, | |
27 | scCreated = 201, | |
28 | scAccepted = 202, | |
29 | scNonAuthoritativeInformation = 203, | |
30 | scNoContent = 204, | |
31 | scResetContent = 205, | |
32 | scPartialContent = 206, | |
33 | scMultiStatus = 207, /**< RFC2518 section 10.2 / RFC4918 */ | |
34 | scAlreadyReported = 208, /**< RFC5842 */ | |
35 | scImUsed = 226, /**< RFC3229 */ | |
36 | scMultipleChoices = 300, | |
37 | scMovedPermanently = 301, | |
38 | scFound = 302, | |
39 | scSeeOther = 303, | |
40 | scNotModified = 304, | |
41 | scUseProxy = 305, | |
42 | scTemporaryRedirect = 307, | |
43 | scPermanentRedirect = 308, /**< RFC7538 */ | |
44 | scBadRequest = 400, | |
45 | scUnauthorized = 401, | |
46 | scPaymentRequired = 402, | |
47 | scForbidden = 403, | |
48 | scNotFound = 404, | |
49 | scMethodNotAllowed = 405, | |
50 | scNotAcceptable = 406, | |
51 | scProxyAuthenticationRequired = 407, | |
52 | scRequestTimeout = 408, | |
53 | scConflict = 409, | |
54 | scGone = 410, | |
55 | scLengthRequired = 411, | |
56 | scPreconditionFailed = 412, | |
57 | scPayloadTooLarge = 413, | |
58 | scUriTooLong = 414, | |
59 | scUnsupportedMediaType = 415, | |
60 | scRequestedRangeNotSatisfied = 416, | |
61 | scExpectationFailed = 417, | |
62 | scMisdirectedRequest = 421, /**< RFC7540 section 9.1.2 */ | |
63 | scUnprocessableEntity = 422, /**< RFC2518 section 10.3 / RFC4918 */ | |
64 | scLocked = 423, /**< RFC2518 section 10.4 / RFC4918 */ | |
65 | scFailedDependency = 424, /**< RFC2518 section 10.5 / RFC4918 */ | |
66 | scUpgradeRequired = 426, | |
67 | scPreconditionRequired = 428, /**< RFC6585 */ | |
68 | scTooManyRequests = 429, /**< RFC6585 */ | |
69 | scRequestHeaderFieldsTooLarge = 431, /**< RFC6585 */ | |
70 | scUnavailableForLegalReasons = 451, /**< RFC7725 */ | |
71 | scInternalServerError = 500, | |
72 | scNotImplemented = 501, | |
73 | scBadGateway = 502, | |
74 | scServiceUnavailable = 503, | |
75 | scGatewayTimeout = 504, | |
76 | scHttpVersionNotSupported = 505, | |
77 | scVariantAlsoNegotiates = 506, /**< RFC2295 */ | |
78 | scInsufficientStorage = 507, /**< RFC2518 section 10.6 / RFC4918 */ | |
79 | scLoopDetected = 508, /**< RFC5842 */ | |
80 | scNotExtended = 510, /**< RFC2774 */ | |
81 | scNetworkAuthenticationRequired = 511, /**< RFC6585 */ | |
82 | ||
83 | // The 6xx codes below are for internal use only: Bad requests result | |
84 | // in scBadRequest; bad responses in scGatewayTimeout. | |
85 | ||
86 | scInvalidHeader = 600, /**< Squid header parsing error */ | |
87 | scHeaderTooLarge = 601 /* Header too large to process */ | |
88 | } StatusCode; | |
89 | ||
90 | const char *StatusCodeString(const Http::StatusCode status); | |
91 | ||
92 | } // namespace Http | |
93 | ||
94 | #endif /* _SQUID_SRC_HTTP_STATUSCODE_H */ | |
95 |