1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.http.api;
21
22
23
24
25
26
27 public enum HttpStatus {
28
29
30
31
32 INFORMATIONAL_CONTINUE(100, "HTTP/1.1 100 Continue"),
33
34
35
36 INFORMATIONAL_SWITCHING_PROTOCOLS(101, "HTTP/1.1 101 Swtiching Protocols"),
37
38
39
40 SUCCESS_OK(200, "HTTP/1.1 200 OK"),
41
42
43
44 SUCCESS_CREATED(201, "HTTP/1.1 201 Created"),
45
46
47
48 SUCCESS_ACCEPTED(202, "HTTP/1.1 202 Accepted"),
49
50
51
52 SUCCESS_NON_AUTHORATIVE_INFORMATION(203, "HTTP/1.1 203 Non-Authoritative Information"),
53
54
55
56 SUCCESS_NO_CONTENT(204, "HTTP/1.1 204 No Content"),
57
58
59
60 SUCCESS_RESET_CONTENT(205, "HTTP/1.1 205 Reset Content"),
61
62
63
64 SUCCESS_PARTIAL_CONTENT(206, "HTTP/1.1 206 Partial Content"),
65
66
67
68
69 REDIRECTION_MULTIPLE_CHOICES(300, "HTTP/1.1 300 Multiple Choices"),
70
71
72
73 REDIRECTION_MOVED_PERMANENTLY(301, "HTTP/1.1 301 Moved Permanently"),
74
75
76
77 REDIRECTION_FOUND(302, "HTTP/1.1 302 Found"),
78
79
80
81 REDIRECTION_SEE_OTHER(303, "HTTP/1.1 303 See Other"),
82
83
84
85 REDIRECTION_NOT_MODIFIED(304, "HTTP/1.1 304 Not Modified"),
86
87
88
89 REDIRECTION_USE_PROXY(305, "HTTP/1.1 305 Use Proxy"),
90
91
92
93 REDIRECTION_TEMPORARILY_REDIRECT(307, "HTTP/1.1 307 Temporary Redirect"),
94
95
96
97
98 CLIENT_ERROR_BAD_REQUEST(400, "HTTP/1.1 400 Bad Request"),
99
100
101
102 CLIENT_ERROR_UNAUTHORIZED(401, "HTTP/1.1 401 Unauthorized"),
103
104
105
106 CLIENT_ERROR_FORBIDDEN(403, "HTTP/1.1 403 Forbidden"),
107
108
109
110 CLIENT_ERROR_NOT_FOUND(404, "HTTP/1.1 404 Not Found"),
111
112
113
114 CLIENT_ERROR_METHOD_NOT_ALLOWED(405, "HTTP/1.1 405 Method Not Allowed"),
115
116
117
118 CLIENT_ERROR_NOT_ACCEPTABLE(406, "HTTP/1.1 406 Not Acceptable"),
119
120
121
122 CLIENT_ERROR_PROXY_AUTHENTICATION_REQUIRED(407, "HTTP/1.1 407 Proxy Authentication Required"),
123
124
125
126 CLIENT_ERROR_REQUEST_TIMEOUT(408, "HTTP/1.1 408 Request Timeout"),
127
128
129
130 CLIENT_ERROR_CONFLICT(409, "HTTP/1.1 409 Conflict"),
131
132
133
134 CLIENT_ERROR_GONE(410, "HTTP/1.1 410 Gone"),
135
136
137
138 CLIENT_ERROR_LENGTH_REQUIRED(411, "HTTP/1.1 411 Length Required"),
139
140
141
142 CLIENT_ERROR_PRECONDITION_FAILED(412, "HTTP/1.1 412 Precondition Failed"),
143
144
145
146 CLIENT_ERROR_REQUEST_ENTITY_TOO_LARGE(413, "HTTP/1.1 413 Request Entity Too Large"),
147
148
149
150 CLIENT_ERROR_REQUEST_URI_TOO_LONG(414, "HTTP/1.1 414 Request-URI Too Long"),
151
152
153
154 CLIENT_ERROR_UNSUPPORTED_MEDIA_TYPE(415, "HTTP/1.1 415 Unsupported Media Type"),
155
156
157
158 CLIENT_ERROR_REQUESTED_RANGE_NOT_SATISFIABLE(416, "HTTP/1.1 416 Requested Range Not Satisfiable"),
159
160
161
162 CLIENT_ERROR_EXPECTATION_FAILED(417, "HTTP/1.1 417 Expectation Failed"),
163
164
165
166
167 SERVER_ERROR_INTERNAL_SERVER_ERROR(500, "HTTP/1.1 500 Internal Server Error"),
168
169
170
171 SERVER_ERROR_NOT_IMPLEMENTED(501, "HTTP/1.1 501 Not Implemented"),
172
173
174
175 SERVER_ERROR_BAD_GATEWAY(502, "HTTP/1.1 502 Bad Gateway"),
176
177
178
179 SERVER_ERROR_SERVICE_UNAVAILABLE(503, "HTTP/1.1 503 Service Unavailable"),
180
181
182
183 SERVER_ERROR_GATEWAY_TIMEOUT(504, "HTTP/1.1 504 Gateway Timeout"),
184
185
186
187 SERVER_ERROR_HTTP_VERSION_NOT_SUPPORTED(505, "HTTP/1.1 505 HTTP Version Not Supported");
188
189
190 private int code;
191
192
193
194
195 private String line;
196
197
198
199
200
201
202
203 private HttpStatus(int code, String phrase) {
204 this.code = code;
205 line = phrase;
206 }
207
208
209
210
211
212
213 public int code() {
214 return code;
215 }
216
217
218
219
220
221
222 public String line() {
223 return line + "\r\n";
224 }
225 }