]>
Commit | Line | Data |
---|---|---|
bbc27441 | 1 | /* |
ef57eb7b | 2 | * Copyright (C) 1996-2016 The Squid Software Foundation and contributors |
bbc27441 AJ |
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 | ||
9b769c67 AJ |
9 | #include "squid.h" |
10 | #include "Debug.h" | |
11 | #include "http/StatusCode.h" | |
12 | ||
13 | const char * | |
14 | Http::StatusCodeString(const Http::StatusCode status) | |
15 | { | |
16 | switch (status) { | |
17 | ||
f53969cc | 18 | // 000 |
9b769c67 | 19 | case Http::scNone: |
f53969cc | 20 | return "Init"; /* we init .status with code 0 */ |
9b769c67 AJ |
21 | break; |
22 | ||
f53969cc | 23 | // 100-199 |
9b769c67 AJ |
24 | case Http::scContinue: |
25 | return "Continue"; | |
26 | break; | |
27 | ||
28 | case Http::scSwitchingProtocols: | |
29 | return "Switching Protocols"; | |
30 | break; | |
31 | ||
f11c8e2f AJ |
32 | case Http::scProcessing: |
33 | return "Processing"; | |
34 | break; | |
35 | ||
f53969cc | 36 | // 200-299 |
9b769c67 AJ |
37 | case Http::scOkay: |
38 | return "OK"; | |
39 | break; | |
40 | ||
41 | case Http::scCreated: | |
42 | return "Created"; | |
43 | break; | |
44 | ||
45 | case Http::scAccepted: | |
46 | return "Accepted"; | |
47 | break; | |
48 | ||
49 | case Http::scNonAuthoritativeInformation: | |
50 | return "Non-Authoritative Information"; | |
51 | break; | |
52 | ||
53 | case Http::scNoContent: | |
54 | return "No Content"; | |
55 | break; | |
56 | ||
57 | case Http::scResetContent: | |
58 | return "Reset Content"; | |
59 | break; | |
60 | ||
61 | case Http::scPartialContent: | |
62 | return "Partial Content"; | |
63 | break; | |
64 | ||
65 | case Http::scMultiStatus: | |
66 | return "Multi-Status"; | |
67 | break; | |
68 | ||
f11c8e2f AJ |
69 | case Http::scAlreadyReported: |
70 | return "Already Reported"; | |
71 | break; | |
72 | ||
73 | case Http::scImUsed: | |
74 | return "IM Used"; | |
75 | break; | |
76 | ||
f53969cc | 77 | // 300-399 |
9b769c67 AJ |
78 | case Http::scMultipleChoices: |
79 | return "Multiple Choices"; | |
80 | break; | |
81 | ||
82 | case Http::scMovedPermanently: | |
83 | return "Moved Permanently"; | |
84 | break; | |
85 | ||
f11c8e2f AJ |
86 | case Http::scFound: |
87 | return "Found"; | |
9b769c67 AJ |
88 | break; |
89 | ||
90 | case Http::scSeeOther: | |
91 | return "See Other"; | |
92 | break; | |
93 | ||
94 | case Http::scNotModified: | |
95 | return "Not Modified"; | |
96 | break; | |
97 | ||
98 | case Http::scUseProxy: | |
99 | return "Use Proxy"; | |
100 | break; | |
101 | ||
102 | case Http::scTemporaryRedirect: | |
103 | return "Temporary Redirect"; | |
104 | break; | |
105 | ||
106 | case Http::scPermanentRedirect: | |
107 | return "Permanent Redirect"; | |
108 | break; | |
109 | ||
f53969cc | 110 | // 400-499 |
9b769c67 AJ |
111 | case Http::scBadRequest: |
112 | return "Bad Request"; | |
113 | break; | |
114 | ||
115 | case Http::scUnauthorized: | |
116 | return "Unauthorized"; | |
117 | break; | |
118 | ||
119 | case Http::scPaymentRequired: | |
120 | return "Payment Required"; | |
121 | break; | |
122 | ||
123 | case Http::scForbidden: | |
124 | return "Forbidden"; | |
125 | break; | |
126 | ||
127 | case Http::scNotFound: | |
128 | return "Not Found"; | |
129 | break; | |
130 | ||
131 | case Http::scMethodNotAllowed: | |
132 | return "Method Not Allowed"; | |
133 | break; | |
134 | ||
135 | case Http::scNotAcceptable: | |
136 | return "Not Acceptable"; | |
137 | break; | |
138 | ||
139 | case Http::scProxyAuthenticationRequired: | |
140 | return "Proxy Authentication Required"; | |
141 | break; | |
142 | ||
143 | case Http::scRequestTimeout: | |
f11c8e2f | 144 | return "Request Timeout"; |
9b769c67 AJ |
145 | break; |
146 | ||
147 | case Http::scConflict: | |
148 | return "Conflict"; | |
149 | break; | |
150 | ||
151 | case Http::scGone: | |
152 | return "Gone"; | |
153 | break; | |
154 | ||
155 | case Http::scLengthRequired: | |
156 | return "Length Required"; | |
157 | break; | |
158 | ||
159 | case Http::scPreconditionFailed: | |
160 | return "Precondition Failed"; | |
161 | break; | |
162 | ||
f11c8e2f AJ |
163 | case Http::scPayloadTooLarge: |
164 | return "Payload Too Large"; | |
9b769c67 AJ |
165 | break; |
166 | ||
f11c8e2f AJ |
167 | case Http::scUriTooLong: |
168 | return "URI Too Long"; | |
9b769c67 AJ |
169 | break; |
170 | ||
171 | case Http::scUnsupportedMediaType: | |
172 | return "Unsupported Media Type"; | |
173 | break; | |
174 | ||
175 | case Http::scRequestedRangeNotSatisfied: | |
176 | return "Requested Range Not Satisfiable"; | |
177 | break; | |
178 | ||
179 | case Http::scExpectationFailed: | |
180 | return "Expectation Failed"; | |
181 | break; | |
182 | ||
fe3f8977 AJ |
183 | case Http::scMisdirectedRequest: |
184 | return "Misdirected Request"; | |
185 | break; | |
186 | ||
f11c8e2f AJ |
187 | case Http::scUnprocessableEntity: |
188 | return "Unprocessable Entity"; | |
189 | break; | |
190 | ||
191 | case Http::scLocked: | |
192 | return "Locked"; | |
193 | break; | |
194 | ||
195 | case Http::scFailedDependency: | |
196 | return "Failed Dependency"; | |
197 | break; | |
198 | ||
199 | case Http::scUpgradeRequired: | |
200 | return "Upgrade Required"; | |
201 | break; | |
202 | ||
203 | case Http::scPreconditionRequired: | |
204 | return "Precondition Required"; | |
205 | break; | |
206 | ||
207 | case Http::scTooManyRequests: | |
208 | return "Too Many Requests"; | |
209 | break; | |
210 | ||
211 | case Http::scRequestHeaderFieldsTooLarge: | |
212 | return "Request Header Fields Too Large"; | |
213 | break; | |
214 | ||
6fb73c28 AJ |
215 | case scUnavailableForLegalReasons: |
216 | return "Unavailable For Legal Reasons"; | |
217 | break; | |
218 | ||
f53969cc | 219 | // 500-599 |
9b769c67 AJ |
220 | case Http::scInternalServerError: |
221 | return "Internal Server Error"; | |
222 | break; | |
223 | ||
224 | case Http::scNotImplemented: | |
225 | return "Not Implemented"; | |
226 | break; | |
227 | ||
228 | case Http::scBadGateway: | |
229 | return "Bad Gateway"; | |
230 | break; | |
231 | ||
232 | case Http::scServiceUnavailable: | |
233 | return "Service Unavailable"; | |
234 | break; | |
235 | ||
f11c8e2f AJ |
236 | case Http::scGatewayTimeout: |
237 | return "Gateway Timeout"; | |
9b769c67 AJ |
238 | break; |
239 | ||
240 | case Http::scHttpVersionNotSupported: | |
241 | return "HTTP Version not supported"; | |
242 | break; | |
243 | ||
f11c8e2f AJ |
244 | case Http::scVariantAlsoNegotiates: |
245 | return "Variant Also Negotiates"; | |
9b769c67 AJ |
246 | break; |
247 | ||
f11c8e2f AJ |
248 | case Http::scInsufficientStorage: |
249 | return "Insufficient Storage"; | |
9b769c67 AJ |
250 | break; |
251 | ||
f11c8e2f AJ |
252 | case Http::scLoopDetected: |
253 | return "Loop Detected"; | |
9b769c67 AJ |
254 | break; |
255 | ||
f11c8e2f AJ |
256 | case Http::scNotExtended: |
257 | return "Not Extended"; | |
258 | break; | |
259 | ||
260 | case Http::scNetworkAuthenticationRequired: | |
9b769c67 AJ |
261 | return "Network Authentication Required"; |
262 | break; | |
263 | ||
f53969cc | 264 | // 600+ |
f11c8e2f AJ |
265 | case Http::scInvalidHeader: |
266 | case Http::scHeaderTooLarge: | |
f53969cc | 267 | // fall through to default. |
f11c8e2f | 268 | |
9b769c67 | 269 | default: |
f11c8e2f | 270 | debugs(57, 3, "Unassigned HTTP status code: " << status); |
9b769c67 | 271 | } |
f11c8e2f | 272 | return "Unassigned"; |
9b769c67 | 273 | } |
f53969cc | 274 |