2 * Copyright (C) 1996-2018 The Squid Software Foundation and contributors
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.
11 #include "http/StatusCode.h"
14 Http::StatusCodeString(const Http::StatusCode status
)
20 return "Init"; /* we init .status with code 0 */
24 case Http::scContinue
:
28 case Http::scSwitchingProtocols
:
29 return "Switching Protocols";
32 case Http::scProcessing
:
36 case Http::scEarlyHints
: // 103
49 case Http::scAccepted
:
53 case Http::scNonAuthoritativeInformation
:
54 return "Non-Authoritative Information";
57 case Http::scNoContent
:
61 case Http::scResetContent
:
62 return "Reset Content";
65 case Http::scPartialContent
:
66 return "Partial Content";
69 case Http::scMultiStatus
:
70 return "Multi-Status";
73 case Http::scAlreadyReported
:
74 return "Already Reported";
82 case Http::scMultipleChoices
:
83 return "Multiple Choices";
86 case Http::scMovedPermanently
:
87 return "Moved Permanently";
94 case Http::scSeeOther
:
98 case Http::scNotModified
:
99 return "Not Modified";
102 case Http::scUseProxy
:
106 case Http::scTemporaryRedirect
:
107 return "Temporary Redirect";
110 case Http::scPermanentRedirect
:
111 return "Permanent Redirect";
115 case Http::scBadRequest
:
116 return "Bad Request";
119 case Http::scUnauthorized
:
120 return "Unauthorized";
123 case Http::scPaymentRequired
:
124 return "Payment Required";
127 case Http::scForbidden
:
131 case Http::scNotFound
:
135 case Http::scMethodNotAllowed
:
136 return "Method Not Allowed";
139 case Http::scNotAcceptable
:
140 return "Not Acceptable";
143 case Http::scProxyAuthenticationRequired
:
144 return "Proxy Authentication Required";
147 case Http::scRequestTimeout
:
148 return "Request Timeout";
151 case Http::scConflict
:
159 case Http::scLengthRequired
:
160 return "Length Required";
163 case Http::scPreconditionFailed
:
164 return "Precondition Failed";
167 case Http::scPayloadTooLarge
:
168 return "Payload Too Large";
171 case Http::scUriTooLong
:
172 return "URI Too Long";
175 case Http::scUnsupportedMediaType
:
176 return "Unsupported Media Type";
179 case Http::scRequestedRangeNotSatisfied
:
180 return "Requested Range Not Satisfiable";
183 case Http::scExpectationFailed
:
184 return "Expectation Failed";
187 case Http::scMisdirectedRequest
:
188 return "Misdirected Request";
191 case Http::scUnprocessableEntity
:
192 return "Unprocessable Entity";
199 case Http::scFailedDependency
:
200 return "Failed Dependency";
203 case Http::scUpgradeRequired
:
204 return "Upgrade Required";
207 case Http::scPreconditionRequired
:
208 return "Precondition Required";
211 case Http::scTooManyRequests
:
212 return "Too Many Requests";
215 case Http::scRequestHeaderFieldsTooLarge
:
216 return "Request Header Fields Too Large";
219 case scUnavailableForLegalReasons
:
220 return "Unavailable For Legal Reasons";
224 case Http::scInternalServerError
:
225 return "Internal Server Error";
228 case Http::scNotImplemented
:
229 return "Not Implemented";
232 case Http::scBadGateway
:
233 return "Bad Gateway";
236 case Http::scServiceUnavailable
:
237 return "Service Unavailable";
240 case Http::scGatewayTimeout
:
241 return "Gateway Timeout";
244 case Http::scHttpVersionNotSupported
:
245 return "HTTP Version not supported";
248 case Http::scVariantAlsoNegotiates
:
249 return "Variant Also Negotiates";
252 case Http::scInsufficientStorage
:
253 return "Insufficient Storage";
256 case Http::scLoopDetected
:
257 return "Loop Detected";
260 case Http::scNotExtended
:
261 return "Not Extended";
264 case Http::scNetworkAuthenticationRequired
:
265 return "Network Authentication Required";
269 case Http::scInvalidHeader
:
270 case Http::scHeaderTooLarge
:
271 // fall through to default.
274 debugs(57, 3, "Unassigned HTTP status code: " << status
);