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