Mercurial Hosting > luan
comparison src/org/eclipse/jetty/http/HttpStatus.java @ 802:3428c60d7cfc
replace jetty jars with source
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 07 Sep 2016 21:15:48 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
801:6a21393191c1 | 802:3428c60d7cfc |
---|---|
1 // | |
2 // ======================================================================== | |
3 // Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. | |
4 // ------------------------------------------------------------------------ | |
5 // All rights reserved. This program and the accompanying materials | |
6 // are made available under the terms of the Eclipse Public License v1.0 | |
7 // and Apache License v2.0 which accompanies this distribution. | |
8 // | |
9 // The Eclipse Public License is available at | |
10 // http://www.eclipse.org/legal/epl-v10.html | |
11 // | |
12 // The Apache License v2.0 is available at | |
13 // http://www.opensource.org/licenses/apache2.0.php | |
14 // | |
15 // You may elect to redistribute this code under either of these licenses. | |
16 // ======================================================================== | |
17 // | |
18 | |
19 package org.eclipse.jetty.http; | |
20 | |
21 /** | |
22 * <p> | |
23 * HttpStatusCode enum class, for status codes based on various HTTP RFCs. (see | |
24 * table below) | |
25 * </p> | |
26 * | |
27 * <table border="1" cellpadding="5"> | |
28 * <tr> | |
29 * <th>Enum</th> | |
30 * <th>Code</th> | |
31 * <th>Message</th> | |
32 * <th> | |
33 * <a href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a></th> | |
34 * <th> | |
35 * <a href="http://tools.ietf.org/html/rfc2616">RFC 2616 - HTTP/1.1</a></th> | |
36 * <th> | |
37 * <a href="http://tools.ietf.org/html/rfc2518">RFC 2518 - WEBDAV</a></th> | |
38 * </tr> | |
39 * | |
40 * <tr> | |
41 * <td><strong><code>Informational - 1xx</code></strong></td> | |
42 * <td colspan="5">{@link #isInformational(int)}</td> | |
43 * </tr> | |
44 * | |
45 * <tr> | |
46 * <td>{@link #CONTINUE_100}</td> | |
47 * <td>100</td> | |
48 * <td>Continue</td> | |
49 * <td> </td> | |
50 * <td> | |
51 * <a href="http://tools.ietf.org/html/rfc2616#section-10.1.1">Sec. 10.1.1</a></td> | |
52 * <td> </td> | |
53 * </tr> | |
54 * <tr> | |
55 * <td>{@link #SWITCHING_PROTOCOLS_101}</td> | |
56 * <td>101</td> | |
57 * <td>Switching Protocols</td> | |
58 * <td> </td> | |
59 * <td> | |
60 * <a href="http://tools.ietf.org/html/rfc2616#section-10.1.2">Sec. 10.1.2</a></td> | |
61 * <td> </td> | |
62 * </tr> | |
63 * <tr> | |
64 * <td>{@link #PROCESSING_102}</td> | |
65 * <td>102</td> | |
66 * <td>Processing</td> | |
67 * <td> </td> | |
68 * <td> </td> | |
69 * <td> | |
70 * <a href="http://tools.ietf.org/html/rfc2518#section-10.1">Sec. 10.1</a></td> | |
71 * </tr> | |
72 * | |
73 * <tr> | |
74 * <td><strong><code>Success - 2xx</code></strong></td> | |
75 * <td colspan="5">{@link #isSuccess(int)}</td> | |
76 * </tr> | |
77 * | |
78 * <tr> | |
79 * <td>{@link #OK_200}</td> | |
80 * <td>200</td> | |
81 * <td>OK</td> | |
82 * <td> | |
83 * <a href="http://tools.ietf.org/html/rfc1945#section-9.2">Sec. 9.2</a></td> | |
84 * <td> | |
85 * <a href="http://tools.ietf.org/html/rfc2616#section-10.2.1">Sec. 10.2.1</a></td> | |
86 * <td> </td> | |
87 * </tr> | |
88 * <tr> | |
89 * <td>{@link #CREATED_201}</td> | |
90 * <td>201</td> | |
91 * <td>Created</td> | |
92 * <td> | |
93 * <a href="http://tools.ietf.org/html/rfc1945#section-9.2">Sec. 9.2</a></td> | |
94 * <td> | |
95 * <a href="http://tools.ietf.org/html/rfc2616#section-10.2.2">Sec. 10.2.2</a></td> | |
96 * <td> </td> | |
97 * </tr> | |
98 * <tr> | |
99 * <td>{@link #ACCEPTED_202}</td> | |
100 * <td>202</td> | |
101 * <td>Accepted</td> | |
102 * <td> | |
103 * <a href="http://tools.ietf.org/html/rfc1945#section-9.2">Sec. 9.2</a></td> | |
104 * <td> | |
105 * <a href="http://tools.ietf.org/html/rfc2616#section-10.2.3">Sec. 10.2.3</a></td> | |
106 * <td> </td> | |
107 * </tr> | |
108 * <tr> | |
109 * <td>{@link #NON_AUTHORITATIVE_INFORMATION_203}</td> | |
110 * <td>203</td> | |
111 * <td>Non Authoritative Information</td> | |
112 * <td> </td> | |
113 * <td> | |
114 * <a href="http://tools.ietf.org/html/rfc2616#section-10.2.4">Sec. 10.2.4</a></td> | |
115 * <td> </td> | |
116 * </tr> | |
117 * <tr> | |
118 * <td>{@link #NO_CONTENT_204}</td> | |
119 * <td>204</td> | |
120 * <td>No Content</td> | |
121 * <td> | |
122 * <a href="http://tools.ietf.org/html/rfc1945#section-9.2">Sec. 9.2</a></td> | |
123 * <td> | |
124 * <a href="http://tools.ietf.org/html/rfc2616#section-10.2.5">Sec. 10.2.5</a></td> | |
125 * <td> </td> | |
126 * </tr> | |
127 * <tr> | |
128 * <td>{@link #RESET_CONTENT_205}</td> | |
129 * <td>205</td> | |
130 * <td>Reset Content</td> | |
131 * <td> </td> | |
132 * <td> | |
133 * <a href="http://tools.ietf.org/html/rfc2616#section-10.2.6">Sec. 10.2.6</a></td> | |
134 * <td> </td> | |
135 * </tr> | |
136 * <tr> | |
137 * <td>{@link #PARTIAL_CONTENT_206}</td> | |
138 * <td>206</td> | |
139 * <td>Partial Content</td> | |
140 * <td> </td> | |
141 * <td> | |
142 * <a href="http://tools.ietf.org/html/rfc2616#section-10.2.7">Sec. 10.2.7</a></td> | |
143 * <td> </td> | |
144 * </tr> | |
145 * <tr> | |
146 * <td>{@link #MULTI_STATUS_207}</td> | |
147 * <td>207</td> | |
148 * <td>Multi-Status</td> | |
149 * <td> </td> | |
150 * <td> </td> | |
151 * <td> | |
152 * <a href="http://tools.ietf.org/html/rfc2518#section-10.2">Sec. 10.2</a></td> | |
153 * </tr> | |
154 * <tr> | |
155 * <td> </td> | |
156 * <td><strike>207</strike></td> | |
157 * <td><strike>Partial Update OK</strike></td> | |
158 * <td> </td> | |
159 * <td> | |
160 * <a href= | |
161 * "http://www.w3.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-rev-01.txt" | |
162 * >draft/01</a></td> | |
163 * <td> </td> | |
164 * </tr> | |
165 * | |
166 * <tr> | |
167 * <td><strong><code>Redirection - 3xx</code></strong></td> | |
168 * <td colspan="5">{@link #isRedirection(int)}</td> | |
169 * </tr> | |
170 * | |
171 * <tr> | |
172 * <td>{@link #MULTIPLE_CHOICES_300}</td> | |
173 * <td>300</td> | |
174 * <td>Multiple Choices</td> | |
175 * <td> | |
176 * <a href="http://tools.ietf.org/html/rfc1945#section-9.3">Sec. 9.3</a></td> | |
177 * <td> | |
178 * <a href="http://tools.ietf.org/html/rfc2616#section-10.3.1">Sec. 10.3.1</a></td> | |
179 * <td> </td> | |
180 * </tr> | |
181 * <tr> | |
182 * <td>{@link #MOVED_PERMANENTLY_301}</td> | |
183 * <td>301</td> | |
184 * <td>Moved Permanently</td> | |
185 * <td> | |
186 * <a href="http://tools.ietf.org/html/rfc1945#section-9.3">Sec. 9.3</a></td> | |
187 * <td> | |
188 * <a href="http://tools.ietf.org/html/rfc2616#section-10.3.2">Sec. 10.3.2</a></td> | |
189 * <td> </td> | |
190 * </tr> | |
191 * <tr> | |
192 * <td>{@link #MOVED_TEMPORARILY_302}</td> | |
193 * <td>302</td> | |
194 * <td>Moved Temporarily</td> | |
195 * <td> | |
196 * <a href="http://tools.ietf.org/html/rfc1945#section-9.3">Sec. 9.3</a></td> | |
197 * <td>(now "<code>302 Found</code>")</td> | |
198 * <td> </td> | |
199 * </tr> | |
200 * <tr> | |
201 * <td>{@link #FOUND_302}</td> | |
202 * <td>302</td> | |
203 * <td>Found</td> | |
204 * <td>(was "<code>302 Moved Temporarily</code>")</td> | |
205 * <td> | |
206 * <a href="http://tools.ietf.org/html/rfc2616#section-10.3.3">Sec. 10.3.3</a></td> | |
207 * <td> </td> | |
208 * </tr> | |
209 * <tr> | |
210 * <td>{@link #SEE_OTHER_303}</td> | |
211 * <td>303</td> | |
212 * <td>See Other</td> | |
213 * <td> </td> | |
214 * <td> | |
215 * <a href="http://tools.ietf.org/html/rfc2616#section-10.3.4">Sec. 10.3.4</a></td> | |
216 * <td> </td> | |
217 * </tr> | |
218 * <tr> | |
219 * <td>{@link #NOT_MODIFIED_304}</td> | |
220 * <td>304</td> | |
221 * <td>Not Modified</td> | |
222 * <td> | |
223 * <a href="http://tools.ietf.org/html/rfc1945#section-9.3">Sec. 9.3</a></td> | |
224 * <td> | |
225 * <a href="http://tools.ietf.org/html/rfc2616#section-10.3.5">Sec. 10.3.5</a></td> | |
226 * <td> </td> | |
227 * </tr> | |
228 * <tr> | |
229 * <td>{@link #USE_PROXY_305}</td> | |
230 * <td>305</td> | |
231 * <td>Use Proxy</td> | |
232 * <td> </td> | |
233 * <td> | |
234 * <a href="http://tools.ietf.org/html/rfc2616#section-10.3.6">Sec. 10.3.6</a></td> | |
235 * <td> </td> | |
236 * </tr> | |
237 * <tr> | |
238 * <td> </td> | |
239 * <td>306</td> | |
240 * <td><em>(Unused)</em></td> | |
241 * <td> </td> | |
242 * <td> | |
243 * <a href="http://tools.ietf.org/html/rfc2616#section-10.3.7">Sec. 10.3.7</a></td> | |
244 * <td> </td> | |
245 * </tr> | |
246 * <tr> | |
247 * <td>{@link #TEMPORARY_REDIRECT_307}</td> | |
248 * <td>307</td> | |
249 * <td>Temporary Redirect</td> | |
250 * <td> </td> | |
251 * <td> | |
252 * <a href="http://tools.ietf.org/html/rfc2616#section-10.3.8">Sec. 10.3.8</a></td> | |
253 * <td> </td> | |
254 * </tr> | |
255 * | |
256 * <tr> | |
257 * <td><strong><code>Client Error - 4xx</code></strong></td> | |
258 * <td colspan="5">{@link #isClientError(int)}</td> | |
259 * </tr> | |
260 * | |
261 * <tr> | |
262 * <td>{@link #BAD_REQUEST_400}</td> | |
263 * <td>400</td> | |
264 * <td>Bad Request</td> | |
265 * <td> | |
266 * <a href="http://tools.ietf.org/html/rfc1945#section-9.4">Sec. 9.4</a></td> | |
267 * <td> | |
268 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.1">Sec. 10.4.1</a></td> | |
269 * <td> </td> | |
270 * </tr> | |
271 * <tr> | |
272 * <td>{@link #UNAUTHORIZED_401}</td> | |
273 * <td>401</td> | |
274 * <td>Unauthorized</td> | |
275 * <td> | |
276 * <a href="http://tools.ietf.org/html/rfc1945#section-9.4">Sec. 9.4</a></td> | |
277 * <td> | |
278 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.2">Sec. 10.4.2</a></td> | |
279 * <td> </td> | |
280 * </tr> | |
281 * <tr> | |
282 * <td>{@link #PAYMENT_REQUIRED_402}</td> | |
283 * <td>402</td> | |
284 * <td>Payment Required</td> | |
285 * <td> | |
286 * <a href="http://tools.ietf.org/html/rfc1945#section-9.4">Sec. 9.4</a></td> | |
287 * <td> | |
288 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.3">Sec. 10.4.3</a></td> | |
289 * <td> </td> | |
290 * </tr> | |
291 * <tr> | |
292 * <td>{@link #FORBIDDEN_403}</td> | |
293 * <td>403</td> | |
294 * <td>Forbidden</td> | |
295 * <td> | |
296 * <a href="http://tools.ietf.org/html/rfc1945#section-9.4">Sec. 9.4</a></td> | |
297 * <td> | |
298 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.4">Sec. 10.4.4</a></td> | |
299 * <td> </td> | |
300 * </tr> | |
301 * <tr> | |
302 * <td>{@link #NOT_FOUND_404}</td> | |
303 * <td>404</td> | |
304 * <td>Not Found</td> | |
305 * <td> | |
306 * <a href="http://tools.ietf.org/html/rfc1945#section-9.4">Sec. 9.4</a></td> | |
307 * <td> | |
308 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.5">Sec. 10.4.5</a></td> | |
309 * <td> </td> | |
310 * </tr> | |
311 * <tr> | |
312 * <td>{@link #METHOD_NOT_ALLOWED_405}</td> | |
313 * <td>405</td> | |
314 * <td>Method Not Allowed</td> | |
315 * <td> </td> | |
316 * <td> | |
317 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.6">Sec. 10.4.6</a></td> | |
318 * <td> </td> | |
319 * </tr> | |
320 * <tr> | |
321 * <td>{@link #NOT_ACCEPTABLE_406}</td> | |
322 * <td>406</td> | |
323 * <td>Not Acceptable</td> | |
324 * <td> </td> | |
325 * <td> | |
326 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.7">Sec. 10.4.7</a></td> | |
327 * <td> </td> | |
328 * </tr> | |
329 * <tr> | |
330 * <td>{@link #PROXY_AUTHENTICATION_REQUIRED_407}</td> | |
331 * <td>407</td> | |
332 * <td>Proxy Authentication Required</td> | |
333 * <td> </td> | |
334 * <td> | |
335 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.8">Sec. 10.4.8</a></td> | |
336 * <td> </td> | |
337 * </tr> | |
338 * <tr> | |
339 * <td>{@link #REQUEST_TIMEOUT_408}</td> | |
340 * <td>408</td> | |
341 * <td>Request Timeout</td> | |
342 * <td> </td> | |
343 * <td> | |
344 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.9">Sec. 10.4.9</a></td> | |
345 * <td> </td> | |
346 * </tr> | |
347 * <tr> | |
348 * <td>{@link #CONFLICT_409}</td> | |
349 * <td>409</td> | |
350 * <td>Conflict</td> | |
351 * <td> </td> | |
352 * <td> | |
353 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.10">Sec. 10.4.10</a> | |
354 * </td> | |
355 * <td> </td> | |
356 * </tr> | |
357 * <tr> | |
358 * <td>{@link #GONE_410}</td> | |
359 * <td>410</td> | |
360 * <td>Gone</td> | |
361 * <td> </td> | |
362 * <td> | |
363 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.11">Sec. 10.4.11</a> | |
364 * </td> | |
365 * <td> </td> | |
366 * </tr> | |
367 * <tr> | |
368 * <td>{@link #LENGTH_REQUIRED_411}</td> | |
369 * <td>411</td> | |
370 * <td>Length Required</td> | |
371 * <td> </td> | |
372 * <td> | |
373 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.12">Sec. 10.4.12</a> | |
374 * </td> | |
375 * <td> </td> | |
376 * </tr> | |
377 * <tr> | |
378 * <td>{@link #PRECONDITION_FAILED_412}</td> | |
379 * <td>412</td> | |
380 * <td>Precondition Failed</td> | |
381 * <td> </td> | |
382 * <td> | |
383 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.13">Sec. 10.4.13</a> | |
384 * </td> | |
385 * <td> </td> | |
386 * </tr> | |
387 * <tr> | |
388 * <td>{@link #REQUEST_ENTITY_TOO_LARGE_413}</td> | |
389 * <td>413</td> | |
390 * <td>Request Entity Too Large</td> | |
391 * <td> </td> | |
392 * <td> | |
393 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.14">Sec. 10.4.14</a> | |
394 * </td> | |
395 * <td> </td> | |
396 * </tr> | |
397 * <tr> | |
398 * <td>{@link #REQUEST_URI_TOO_LONG_414}</td> | |
399 * <td>414</td> | |
400 * <td>Request-URI Too Long</td> | |
401 * <td> </td> | |
402 * <td> | |
403 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.15">Sec. 10.4.15</a> | |
404 * </td> | |
405 * <td> </td> | |
406 * </tr> | |
407 * <tr> | |
408 * <td>{@link #UNSUPPORTED_MEDIA_TYPE_415}</td> | |
409 * <td>415</td> | |
410 * <td>Unsupported Media Type</td> | |
411 * <td> </td> | |
412 * <td> | |
413 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.16">Sec. 10.4.16</a> | |
414 * </td> | |
415 * <td> </td> | |
416 * </tr> | |
417 * <tr> | |
418 * <td>{@link #REQUESTED_RANGE_NOT_SATISFIABLE_416}</td> | |
419 * <td>416</td> | |
420 * <td>Requested Range Not Satisfiable</td> | |
421 * <td> </td> | |
422 * <td> | |
423 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.17">Sec. 10.4.17</a> | |
424 * </td> | |
425 * <td> </td> | |
426 * </tr> | |
427 * <tr> | |
428 * <td>{@link #EXPECTATION_FAILED_417}</td> | |
429 * <td>417</td> | |
430 * <td>Expectation Failed</td> | |
431 * <td> </td> | |
432 * <td> | |
433 * <a href="http://tools.ietf.org/html/rfc2616#section-10.4.18">Sec. 10.4.18</a> | |
434 * </td> | |
435 * <td> </td> | |
436 * </tr> | |
437 * <tr> | |
438 * <td> </td> | |
439 * <td><strike>418</strike></td> | |
440 * <td><strike>Reauthentication Required</strike></td> | |
441 * <td> </td> | |
442 * <td> | |
443 * <a href= | |
444 * "http://tools.ietf.org/html/draft-ietf-http-v11-spec-rev-01#section-10.4.19" | |
445 * >draft/01</a></td> | |
446 * <td> </td> | |
447 * </tr> | |
448 * <tr> | |
449 * <td> </td> | |
450 * <td><strike>418</strike></td> | |
451 * <td><strike>Unprocessable Entity</strike></td> | |
452 * <td> </td> | |
453 * <td> </td> | |
454 * <td> | |
455 * <a href= | |
456 * "http://tools.ietf.org/html/draft-ietf-webdav-protocol-05#section-10.3" | |
457 * >draft/05</a></td> | |
458 * </tr> | |
459 * <tr> | |
460 * <td> </td> | |
461 * <td><strike>419</strike></td> | |
462 * <td><strike>Proxy Reauthentication Required</stike></td> | |
463 * <td> </td> | |
464 * <td> | |
465 * <a href= | |
466 * "http://tools.ietf.org/html/draft-ietf-http-v11-spec-rev-01#section-10.4.20" | |
467 * >draft/01</a></td> | |
468 * <td> </td> | |
469 * </tr> | |
470 * <tr> | |
471 * <td> </td> | |
472 * <td><strike>419</strike></td> | |
473 * <td><strike>Insufficient Space on Resource</stike></td> | |
474 * <td> </td> | |
475 * <td> </td> | |
476 * <td> | |
477 * <a href= | |
478 * "http://tools.ietf.org/html/draft-ietf-webdav-protocol-05#section-10.4" | |
479 * >draft/05</a></td> | |
480 * </tr> | |
481 * <tr> | |
482 * <td> </td> | |
483 * <td><strike>420</strike></td> | |
484 * <td><strike>Method Failure</strike></td> | |
485 * <td> </td> | |
486 * <td> </td> | |
487 * <td> | |
488 * <a href= | |
489 * "http://tools.ietf.org/html/draft-ietf-webdav-protocol-05#section-10.5" | |
490 * >draft/05</a></td> | |
491 * </tr> | |
492 * <tr> | |
493 * <td> </td> | |
494 * <td>421</td> | |
495 * <td><em>(Unused)</em></td> | |
496 * <td> </td> | |
497 * <td> </td> | |
498 * <td> </td> | |
499 * </tr> | |
500 * <tr> | |
501 * <td>{@link #UNPROCESSABLE_ENTITY_422}</td> | |
502 * <td>422</td> | |
503 * <td>Unprocessable Entity</td> | |
504 * <td> </td> | |
505 * <td> </td> | |
506 * <td> | |
507 * <a href="http://tools.ietf.org/html/rfc2518#section-10.3">Sec. 10.3</a></td> | |
508 * </tr> | |
509 * <tr> | |
510 * <td>{@link #LOCKED_423}</td> | |
511 * <td>423</td> | |
512 * <td>Locked</td> | |
513 * <td> </td> | |
514 * <td> </td> | |
515 * <td> | |
516 * <a href="http://tools.ietf.org/html/rfc2518#section-10.4">Sec. 10.4</a></td> | |
517 * </tr> | |
518 * <tr> | |
519 * <td>{@link #FAILED_DEPENDENCY_424}</td> | |
520 * <td>424</td> | |
521 * <td>Failed Dependency</td> | |
522 * <td> </td> | |
523 * <td> </td> | |
524 * <td> | |
525 * <a href="http://tools.ietf.org/html/rfc2518#section-10.5">Sec. 10.5</a></td> | |
526 * </tr> | |
527 * | |
528 * <tr> | |
529 * <td><strong><code>Server Error - 5xx</code></strong></td> | |
530 * <td colspan="5">{@link #isServerError(int)}</td> | |
531 * </tr> | |
532 * | |
533 * <tr> | |
534 * <td>{@link #INTERNAL_SERVER_ERROR_500}</td> | |
535 * <td>500</td> | |
536 * <td>Internal Server Error</td> | |
537 * <td> | |
538 * <a href="http://tools.ietf.org/html/rfc1945#section-9.5">Sec. 9.5</a></td> | |
539 * <td> | |
540 * <a href="http://tools.ietf.org/html/rfc2616#section-10.5.1">Sec. 10.5.1</a></td> | |
541 * <td> </td> | |
542 * </tr> | |
543 * <tr> | |
544 * <td>{@link #NOT_IMPLEMENTED_501}</td> | |
545 * <td>501</td> | |
546 * <td>Not Implemented</td> | |
547 * <td> | |
548 * <a href="http://tools.ietf.org/html/rfc1945#section-9.5">Sec. 9.5</a></td> | |
549 * <td> | |
550 * <a href="http://tools.ietf.org/html/rfc2616#section-10.5.2">Sec. 10.5.2</a></td> | |
551 * <td> </td> | |
552 * </tr> | |
553 * <tr> | |
554 * <td>{@link #BAD_GATEWAY_502}</td> | |
555 * <td>502</td> | |
556 * <td>Bad Gateway</td> | |
557 * <td> | |
558 * <a href="http://tools.ietf.org/html/rfc1945#section-9.5">Sec. 9.5</a></td> | |
559 * <td> | |
560 * <a href="http://tools.ietf.org/html/rfc2616#section-10.5.3">Sec. 10.5.3</a></td> | |
561 * <td> </td> | |
562 * </tr> | |
563 * <tr> | |
564 * <td>{@link #SERVICE_UNAVAILABLE_503}</td> | |
565 * <td>503</td> | |
566 * <td>Service Unavailable</td> | |
567 * <td> | |
568 * <a href="http://tools.ietf.org/html/rfc1945#section-9.5">Sec. 9.5</a></td> | |
569 * <td> | |
570 * <a href="http://tools.ietf.org/html/rfc2616#section-10.5.4">Sec. 10.5.4</a></td> | |
571 * <td> </td> | |
572 * </tr> | |
573 * <tr> | |
574 * <td>{@link #GATEWAY_TIMEOUT_504}</td> | |
575 * <td>504</td> | |
576 * <td>Gateway Timeout</td> | |
577 * <td> </td> | |
578 * <td> | |
579 * <a href="http://tools.ietf.org/html/rfc2616#section-10.5.5">Sec. 10.5.5</a></td> | |
580 * <td> </td> | |
581 * </tr> | |
582 * <tr> | |
583 * <td>{@link #HTTP_VERSION_NOT_SUPPORTED_505}</td> | |
584 * <td>505</td> | |
585 * <td>HTTP Version Not Supported</td> | |
586 * <td> </td> | |
587 * <td> | |
588 * <a href="http://tools.ietf.org/html/rfc2616#section-10.5.6">Sec. 10.5.6</a></td> | |
589 * <td> </td> | |
590 * </tr> | |
591 * <tr> | |
592 * <td> </td> | |
593 * <td>506</td> | |
594 * <td><em>(Unused)</em></td> | |
595 * <td> </td> | |
596 * <td> </td> | |
597 * <td> </td> | |
598 * </tr> | |
599 * <tr> | |
600 * <td>{@link #INSUFFICIENT_STORAGE_507}</td> | |
601 * <td>507</td> | |
602 * <td>Insufficient Storage</td> | |
603 * <td> </td> | |
604 * <td> </td> | |
605 * <td> | |
606 * <a href="http://tools.ietf.org/html/rfc2518#section-10.6">Sec. 10.6</a></td> | |
607 * </tr> | |
608 * | |
609 * </table> | |
610 * | |
611 * @version $Id$ | |
612 */ | |
613 public class HttpStatus | |
614 { | |
615 public final static int CONTINUE_100 = 100; | |
616 public final static int SWITCHING_PROTOCOLS_101 = 101; | |
617 public final static int PROCESSING_102 = 102; | |
618 | |
619 public final static int OK_200 = 200; | |
620 public final static int CREATED_201 = 201; | |
621 public final static int ACCEPTED_202 = 202; | |
622 public final static int NON_AUTHORITATIVE_INFORMATION_203 = 203; | |
623 public final static int NO_CONTENT_204 = 204; | |
624 public final static int RESET_CONTENT_205 = 205; | |
625 public final static int PARTIAL_CONTENT_206 = 206; | |
626 public final static int MULTI_STATUS_207 = 207; | |
627 | |
628 public final static int MULTIPLE_CHOICES_300 = 300; | |
629 public final static int MOVED_PERMANENTLY_301 = 301; | |
630 public final static int MOVED_TEMPORARILY_302 = 302; | |
631 public final static int FOUND_302 = 302; | |
632 public final static int SEE_OTHER_303 = 303; | |
633 public final static int NOT_MODIFIED_304 = 304; | |
634 public final static int USE_PROXY_305 = 305; | |
635 public final static int TEMPORARY_REDIRECT_307 = 307; | |
636 | |
637 public final static int BAD_REQUEST_400 = 400; | |
638 public final static int UNAUTHORIZED_401 = 401; | |
639 public final static int PAYMENT_REQUIRED_402 = 402; | |
640 public final static int FORBIDDEN_403 = 403; | |
641 public final static int NOT_FOUND_404 = 404; | |
642 public final static int METHOD_NOT_ALLOWED_405 = 405; | |
643 public final static int NOT_ACCEPTABLE_406 = 406; | |
644 public final static int PROXY_AUTHENTICATION_REQUIRED_407 = 407; | |
645 public final static int REQUEST_TIMEOUT_408 = 408; | |
646 public final static int CONFLICT_409 = 409; | |
647 public final static int GONE_410 = 410; | |
648 public final static int LENGTH_REQUIRED_411 = 411; | |
649 public final static int PRECONDITION_FAILED_412 = 412; | |
650 public final static int REQUEST_ENTITY_TOO_LARGE_413 = 413; | |
651 public final static int REQUEST_URI_TOO_LONG_414 = 414; | |
652 public final static int UNSUPPORTED_MEDIA_TYPE_415 = 415; | |
653 public final static int REQUESTED_RANGE_NOT_SATISFIABLE_416 = 416; | |
654 public final static int EXPECTATION_FAILED_417 = 417; | |
655 public final static int UNPROCESSABLE_ENTITY_422 = 422; | |
656 public final static int LOCKED_423 = 423; | |
657 public final static int FAILED_DEPENDENCY_424 = 424; | |
658 | |
659 public final static int INTERNAL_SERVER_ERROR_500 = 500; | |
660 public final static int NOT_IMPLEMENTED_501 = 501; | |
661 public final static int BAD_GATEWAY_502 = 502; | |
662 public final static int SERVICE_UNAVAILABLE_503 = 503; | |
663 public final static int GATEWAY_TIMEOUT_504 = 504; | |
664 public final static int HTTP_VERSION_NOT_SUPPORTED_505 = 505; | |
665 public final static int INSUFFICIENT_STORAGE_507 = 507; | |
666 | |
667 public static final int MAX_CODE = 507; | |
668 | |
669 | |
670 private static final Code[] codeMap = new Code[MAX_CODE+1]; | |
671 | |
672 static | |
673 { | |
674 for (Code code : Code.values()) | |
675 { | |
676 codeMap[code._code] = code; | |
677 } | |
678 } | |
679 | |
680 | |
681 public enum Code | |
682 { | |
683 /* | |
684 * -------------------------------------------------------------------- | |
685 * Informational messages in 1xx series. As defined by ... RFC 1945 - | |
686 * HTTP/1.0 RFC 2616 - HTTP/1.1 RFC 2518 - WebDAV | |
687 */ | |
688 | |
689 /** <code>100 Continue</code> */ | |
690 CONTINUE(CONTINUE_100, "Continue"), | |
691 /** <code>101 Switching Protocols</code> */ | |
692 SWITCHING_PROTOCOLS(SWITCHING_PROTOCOLS_101, "Switching Protocols"), | |
693 /** <code>102 Processing</code> */ | |
694 PROCESSING(PROCESSING_102, "Processing"), | |
695 | |
696 /* | |
697 * -------------------------------------------------------------------- | |
698 * Success messages in 2xx series. As defined by ... RFC 1945 - HTTP/1.0 | |
699 * RFC 2616 - HTTP/1.1 RFC 2518 - WebDAV | |
700 */ | |
701 | |
702 /** <code>200 OK</code> */ | |
703 OK(OK_200, "OK"), | |
704 /** <code>201 Created</code> */ | |
705 CREATED(CREATED_201, "Created"), | |
706 /** <code>202 Accepted</code> */ | |
707 ACCEPTED(ACCEPTED_202, "Accepted"), | |
708 /** <code>203 Non Authoritative Information</code> */ | |
709 NON_AUTHORITATIVE_INFORMATION(NON_AUTHORITATIVE_INFORMATION_203, "Non Authoritative Information"), | |
710 /** <code>204 No Content</code> */ | |
711 NO_CONTENT(NO_CONTENT_204, "No Content"), | |
712 /** <code>205 Reset Content</code> */ | |
713 RESET_CONTENT(RESET_CONTENT_205, "Reset Content"), | |
714 /** <code>206 Partial Content</code> */ | |
715 PARTIAL_CONTENT(PARTIAL_CONTENT_206, "Partial Content"), | |
716 /** <code>207 Multi-Status</code> */ | |
717 MULTI_STATUS(MULTI_STATUS_207, "Multi-Status"), | |
718 | |
719 /* | |
720 * -------------------------------------------------------------------- | |
721 * Redirection messages in 3xx series. As defined by ... RFC 1945 - | |
722 * HTTP/1.0 RFC 2616 - HTTP/1.1 | |
723 */ | |
724 | |
725 /** <code>300 Mutliple Choices</code> */ | |
726 MULTIPLE_CHOICES(MULTIPLE_CHOICES_300, "Multiple Choices"), | |
727 /** <code>301 Moved Permanently</code> */ | |
728 MOVED_PERMANENTLY(MOVED_PERMANENTLY_301, "Moved Permanently"), | |
729 /** <code>302 Moved Temporarily</code> */ | |
730 MOVED_TEMPORARILY(MOVED_TEMPORARILY_302, "Moved Temporarily"), | |
731 /** <code>302 Found</code> */ | |
732 FOUND(FOUND_302, "Found"), | |
733 /** <code>303 See Other</code> */ | |
734 SEE_OTHER(SEE_OTHER_303, "See Other"), | |
735 /** <code>304 Not Modified</code> */ | |
736 NOT_MODIFIED(NOT_MODIFIED_304, "Not Modified"), | |
737 /** <code>305 Use Proxy</code> */ | |
738 USE_PROXY(USE_PROXY_305, "Use Proxy"), | |
739 /** <code>307 Temporary Redirect</code> */ | |
740 TEMPORARY_REDIRECT(TEMPORARY_REDIRECT_307, "Temporary Redirect"), | |
741 | |
742 /* | |
743 * -------------------------------------------------------------------- | |
744 * Client Error messages in 4xx series. As defined by ... RFC 1945 - | |
745 * HTTP/1.0 RFC 2616 - HTTP/1.1 RFC 2518 - WebDAV | |
746 */ | |
747 | |
748 /** <code>400 Bad Request</code> */ | |
749 BAD_REQUEST(BAD_REQUEST_400, "Bad Request"), | |
750 /** <code>401 Unauthorized</code> */ | |
751 UNAUTHORIZED(UNAUTHORIZED_401, "Unauthorized"), | |
752 /** <code>402 Payment Required</code> */ | |
753 PAYMENT_REQUIRED(PAYMENT_REQUIRED_402, "Payment Required"), | |
754 /** <code>403 Forbidden</code> */ | |
755 FORBIDDEN(FORBIDDEN_403, "Forbidden"), | |
756 /** <code>404 Not Found</code> */ | |
757 NOT_FOUND(NOT_FOUND_404, "Not Found"), | |
758 /** <code>405 Method Not Allowed</code> */ | |
759 METHOD_NOT_ALLOWED(METHOD_NOT_ALLOWED_405, "Method Not Allowed"), | |
760 /** <code>406 Not Acceptable</code> */ | |
761 NOT_ACCEPTABLE(NOT_ACCEPTABLE_406, "Not Acceptable"), | |
762 /** <code>407 Proxy Authentication Required</code> */ | |
763 PROXY_AUTHENTICATION_REQUIRED(PROXY_AUTHENTICATION_REQUIRED_407, "Proxy Authentication Required"), | |
764 /** <code>408 Request Timeout</code> */ | |
765 REQUEST_TIMEOUT(REQUEST_TIMEOUT_408, "Request Timeout"), | |
766 /** <code>409 Conflict</code> */ | |
767 CONFLICT(CONFLICT_409, "Conflict"), | |
768 /** <code>410 Gone</code> */ | |
769 GONE(GONE_410, "Gone"), | |
770 /** <code>411 Length Required</code> */ | |
771 LENGTH_REQUIRED(LENGTH_REQUIRED_411, "Length Required"), | |
772 /** <code>412 Precondition Failed</code> */ | |
773 PRECONDITION_FAILED(PRECONDITION_FAILED_412, "Precondition Failed"), | |
774 /** <code>413 Request Entity Too Large</code> */ | |
775 REQUEST_ENTITY_TOO_LARGE(REQUEST_ENTITY_TOO_LARGE_413, "Request Entity Too Large"), | |
776 /** <code>414 Request-URI Too Long</code> */ | |
777 REQUEST_URI_TOO_LONG(REQUEST_URI_TOO_LONG_414, "Request-URI Too Long"), | |
778 /** <code>415 Unsupported Media Type</code> */ | |
779 UNSUPPORTED_MEDIA_TYPE(UNSUPPORTED_MEDIA_TYPE_415, "Unsupported Media Type"), | |
780 /** <code>416 Requested Range Not Satisfiable</code> */ | |
781 REQUESTED_RANGE_NOT_SATISFIABLE(REQUESTED_RANGE_NOT_SATISFIABLE_416, "Requested Range Not Satisfiable"), | |
782 /** <code>417 Expectation Failed</code> */ | |
783 EXPECTATION_FAILED(EXPECTATION_FAILED_417, "Expectation Failed"), | |
784 /** <code>422 Unprocessable Entity</code> */ | |
785 UNPROCESSABLE_ENTITY(UNPROCESSABLE_ENTITY_422, "Unprocessable Entity"), | |
786 /** <code>423 Locked</code> */ | |
787 LOCKED(LOCKED_423, "Locked"), | |
788 /** <code>424 Failed Dependency</code> */ | |
789 FAILED_DEPENDENCY(FAILED_DEPENDENCY_424, "Failed Dependency"), | |
790 | |
791 /* | |
792 * -------------------------------------------------------------------- | |
793 * Server Error messages in 5xx series. As defined by ... RFC 1945 - | |
794 * HTTP/1.0 RFC 2616 - HTTP/1.1 RFC 2518 - WebDAV | |
795 */ | |
796 | |
797 /** <code>500 Server Error</code> */ | |
798 INTERNAL_SERVER_ERROR(INTERNAL_SERVER_ERROR_500, "Server Error"), | |
799 /** <code>501 Not Implemented</code> */ | |
800 NOT_IMPLEMENTED(NOT_IMPLEMENTED_501, "Not Implemented"), | |
801 /** <code>502 Bad Gateway</code> */ | |
802 BAD_GATEWAY(BAD_GATEWAY_502, "Bad Gateway"), | |
803 /** <code>503 Service Unavailable</code> */ | |
804 SERVICE_UNAVAILABLE(SERVICE_UNAVAILABLE_503, "Service Unavailable"), | |
805 /** <code>504 Gateway Timeout</code> */ | |
806 GATEWAY_TIMEOUT(GATEWAY_TIMEOUT_504, "Gateway Timeout"), | |
807 /** <code>505 HTTP Version Not Supported</code> */ | |
808 HTTP_VERSION_NOT_SUPPORTED(HTTP_VERSION_NOT_SUPPORTED_505, "HTTP Version Not Supported"), | |
809 /** <code>507 Insufficient Storage</code> */ | |
810 INSUFFICIENT_STORAGE(INSUFFICIENT_STORAGE_507, "Insufficient Storage"); | |
811 | |
812 private final int _code; | |
813 private final String _message; | |
814 | |
815 private Code(int code, String message) | |
816 { | |
817 this._code = code; | |
818 _message=message; | |
819 } | |
820 | |
821 public int getCode() | |
822 { | |
823 return _code; | |
824 } | |
825 | |
826 public String getMessage() | |
827 { | |
828 return _message; | |
829 } | |
830 | |
831 | |
832 public boolean equals(int code) | |
833 { | |
834 return (this._code == code); | |
835 } | |
836 | |
837 @Override | |
838 public String toString() | |
839 { | |
840 return String.format("[%03d %s]",this._code,this.getMessage()); | |
841 } | |
842 | |
843 /** | |
844 * Simple test against an code to determine if it falls into the | |
845 * <code>Informational</code> message category as defined in the <a | |
846 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, | |
847 * and <a href="http://tools.ietf.org/html/rfc2616">RFC 2616 - | |
848 * HTTP/1.1</a>. | |
849 * | |
850 * @return true if within range of codes that belongs to | |
851 * <code>Informational</code> messages. | |
852 */ | |
853 public boolean isInformational() | |
854 { | |
855 return HttpStatus.isInformational(this._code); | |
856 } | |
857 | |
858 /** | |
859 * Simple test against an code to determine if it falls into the | |
860 * <code>Success</code> message category as defined in the <a | |
861 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, | |
862 * and <a href="http://tools.ietf.org/html/rfc2616">RFC 2616 - | |
863 * HTTP/1.1</a>. | |
864 * | |
865 * @return true if within range of codes that belongs to | |
866 * <code>Success</code> messages. | |
867 */ | |
868 public boolean isSuccess() | |
869 { | |
870 return HttpStatus.isSuccess(this._code); | |
871 } | |
872 | |
873 /** | |
874 * Simple test against an code to determine if it falls into the | |
875 * <code>Redirection</code> message category as defined in the <a | |
876 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, | |
877 * and <a href="http://tools.ietf.org/html/rfc2616">RFC 2616 - | |
878 * HTTP/1.1</a>. | |
879 * | |
880 * @return true if within range of codes that belongs to | |
881 * <code>Redirection</code> messages. | |
882 */ | |
883 public boolean isRedirection() | |
884 { | |
885 return HttpStatus.isRedirection(this._code); | |
886 } | |
887 | |
888 /** | |
889 * Simple test against an code to determine if it falls into the | |
890 * <code>Client Error</code> message category as defined in the <a | |
891 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, | |
892 * and <a href="http://tools.ietf.org/html/rfc2616">RFC 2616 - | |
893 * HTTP/1.1</a>. | |
894 * | |
895 * @return true if within range of codes that belongs to | |
896 * <code>Client Error</code> messages. | |
897 */ | |
898 public boolean isClientError() | |
899 { | |
900 return HttpStatus.isClientError(this._code); | |
901 } | |
902 | |
903 /** | |
904 * Simple test against an code to determine if it falls into the | |
905 * <code>Server Error</code> message category as defined in the <a | |
906 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, | |
907 * and <a href="http://tools.ietf.org/html/rfc2616">RFC 2616 - | |
908 * HTTP/1.1</a>. | |
909 * | |
910 * @return true if within range of codes that belongs to | |
911 * <code>Server Error</code> messages. | |
912 */ | |
913 public boolean isServerError() | |
914 { | |
915 return HttpStatus.isServerError(this._code); | |
916 } | |
917 } | |
918 | |
919 | |
920 /** | |
921 * Get the HttpStatusCode for a specific code | |
922 * | |
923 * @param code | |
924 * the code to lookup. | |
925 * @return the {@link HttpStatus} if found, or null if not found. | |
926 */ | |
927 public static Code getCode(int code) | |
928 { | |
929 if (code <= MAX_CODE) | |
930 { | |
931 return codeMap[code]; | |
932 } | |
933 return null; | |
934 } | |
935 | |
936 /** | |
937 * Get the status message for a specific code. | |
938 * | |
939 * @param code | |
940 * the code to look up | |
941 * @return the specific message, or the code number itself if code | |
942 * does not match known list. | |
943 */ | |
944 public static String getMessage(int code) | |
945 { | |
946 Code codeEnum = getCode(code); | |
947 if (codeEnum != null) | |
948 { | |
949 return codeEnum.getMessage(); | |
950 } | |
951 else | |
952 { | |
953 return Integer.toString(code); | |
954 } | |
955 } | |
956 | |
957 /** | |
958 * Simple test against an code to determine if it falls into the | |
959 * <code>Informational</code> message category as defined in the <a | |
960 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, and <a | |
961 * href="http://tools.ietf.org/html/rfc2616">RFC 2616 - HTTP/1.1</a>. | |
962 * | |
963 * @param code | |
964 * the code to test. | |
965 * @return true if within range of codes that belongs to | |
966 * <code>Informational</code> messages. | |
967 */ | |
968 public static boolean isInformational(int code) | |
969 { | |
970 return ((100 <= code) && (code <= 199)); | |
971 } | |
972 | |
973 /** | |
974 * Simple test against an code to determine if it falls into the | |
975 * <code>Success</code> message category as defined in the <a | |
976 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, and <a | |
977 * href="http://tools.ietf.org/html/rfc2616">RFC 2616 - HTTP/1.1</a>. | |
978 * | |
979 * @param code | |
980 * the code to test. | |
981 * @return true if within range of codes that belongs to | |
982 * <code>Success</code> messages. | |
983 */ | |
984 public static boolean isSuccess(int code) | |
985 { | |
986 return ((200 <= code) && (code <= 299)); | |
987 } | |
988 | |
989 /** | |
990 * Simple test against an code to determine if it falls into the | |
991 * <code>Redirection</code> message category as defined in the <a | |
992 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, and <a | |
993 * href="http://tools.ietf.org/html/rfc2616">RFC 2616 - HTTP/1.1</a>. | |
994 * | |
995 * @param code | |
996 * the code to test. | |
997 * @return true if within range of codes that belongs to | |
998 * <code>Redirection</code> messages. | |
999 */ | |
1000 public static boolean isRedirection(int code) | |
1001 { | |
1002 return ((300 <= code) && (code <= 399)); | |
1003 } | |
1004 | |
1005 /** | |
1006 * Simple test against an code to determine if it falls into the | |
1007 * <code>Client Error</code> message category as defined in the <a | |
1008 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, and <a | |
1009 * href="http://tools.ietf.org/html/rfc2616">RFC 2616 - HTTP/1.1</a>. | |
1010 * | |
1011 * @param code | |
1012 * the code to test. | |
1013 * @return true if within range of codes that belongs to | |
1014 * <code>Client Error</code> messages. | |
1015 */ | |
1016 public static boolean isClientError(int code) | |
1017 { | |
1018 return ((400 <= code) && (code <= 499)); | |
1019 } | |
1020 | |
1021 /** | |
1022 * Simple test against an code to determine if it falls into the | |
1023 * <code>Server Error</code> message category as defined in the <a | |
1024 * href="http://tools.ietf.org/html/rfc1945">RFC 1945 - HTTP/1.0</a>, and <a | |
1025 * href="http://tools.ietf.org/html/rfc2616">RFC 2616 - HTTP/1.1</a>. | |
1026 * | |
1027 * @param code | |
1028 * the code to test. | |
1029 * @return true if within range of codes that belongs to | |
1030 * <code>Server Error</code> messages. | |
1031 */ | |
1032 public static boolean isServerError(int code) | |
1033 { | |
1034 return ((500 <= code) && (code <= 599)); | |
1035 } | |
1036 } |