Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
cn.dreampie.common.http.result.HttpStatus Maven / Gradle / Ivy
package cn.dreampie.common.http.result;
/**
* Created by ice on 14-12-19.
*
* @see HTTP/1.1 RFC
*/
public enum HttpStatus {
/**
* {@code 100 Continue}.
*
* @see HTTP/1.1
*/
CONTINUE(100, "Continue"),
/**
* {@code 101 Switching Protocols}.
*
* @see HTTP/1.1
*/
SWITCHING_PROTOCOLS(101, "Switching Protocols"),
/**
* {@code 200 OK}.
*
* @see HTTP/1.1
*/
OK(200, "OK"),
/**
* {@code 201 Created}.
*
* @see HTTP/1.1
*/
CREATED(201, "Created"),
/**
* {@code 202 Accepted}.
*
* @see HTTP/1.1
*/
ACCEPTED(202, "Accepted"),
/**
* {@code 203 Non-Authoritative Information}.
*
* @see HTTP/1.1
*/
NON_AUTHORITATIVE_INFORMATION(203, "Non-Authoritative Information"),
/**
* {@code 204 No Content}.
*
* @see HTTP/1.1
*/
NO_CONTENT(204, "No Content"),
/**
* {@code 205 Reset Content}.
*
* @see HTTP/1.1
*/
RESET_CONTENT(205, "Reset Content"),
/**
* {@code 206 Partial Content}.
*
* @see HTTP/1.1
*/
PARTIAL_CONTENT(206, "Partial Content"),
/**
* {@code 300 Multiple Choices}.
*
* @see HTTP/1.1
*/
MULTIPLE_CHOICES(300, "Multiple Choices"),
/**
* {@code 301 Moved Permanently}.
*
* @see HTTP/1.1
*/
MOVED_PERMANENTLY(301, "Moved Permanently"),
/**
* {@code 302 Found}.
*
* @see HTTP/1.1
*/
FOUND(302, "Found"),
/**
* {@code 303 See Other}.
*
* @see HTTP/1.1
*/
SEE_OTHER(303, "See Other"),
/**
* {@code 304 Not Modified}.
*
* @see HTTP/1.1
*/
NOT_MODIFIED(304, "Not Modified"),
/**
* {@code 305 Use Proxy}.
*
* @see HTTP/1.1
*/
USE_PROXY(305, "Use Proxy"),
/**
* {@code 307 Temporary Redirect}.
*
* @see HTTP/1.1
*/
TEMPORARY_REDIRECT(307, "Temporary Redirect"),
/**
* {@code 400 Bad Request}.
*
* @see HTTP/1.1
*/
BAD_REQUEST(400, "Bad Request"),
/**
* {@code 401 Unauthorized}.
*
* @see HTTP/1.1
*/
UNAUTHORIZED(401, "Unauthorized"),
/**
* {@code 402 Payment Required}.
*
* @see HTTP/1.1
*/
PAYMENT_REQUIRED(402, "Payment Required"),
/**
* {@code 403 Forbidden}.
*
* @see HTTP/1.1
*/
FORBIDDEN(403, "Forbidden"),
/**
* {@code 404 Not Found}.
*
* @see HTTP/1.1
*/
NOT_FOUND(404, "Not Found"),
/**
* {@code 405 Method Not Allowed}.
*
* @see HTTP/1.1
*/
METHOD_NOT_ALLOWED(405, "Method Not Allowed"),
/**
* {@code 406 Not Acceptable}.
*
* @see HTTP/1.1
*/
NOT_ACCEPTABLE(406, "Not Acceptable"),
/**
* {@code 407 Proxy Authentication Required}.
*
* @see HTTP/1.1
*/
PROXY_AUTHENTICATION_REQUIRED(407, "Proxy Authentication Required"),
/**
* {@code 408 Request Timeout}.
*
* @see HTTP/1.1
*/
REQUEST_TIMEOUT(408, "Request Time-out"),
/**
* {@code 409 Conflict}.
*
* @see HTTP/1.1
*/
CONFLICT(409, "Conflict"),
/**
* {@code 410 Gone}.
*
* @see HTTP/1.1
*/
GONE(410, "Gone"),
/**
* {@code 411 Length Required}.
*
* @see HTTP/1.1
*/
LENGTH_REQUIRED(411, "Length Required"),
/**
* {@code 412 Precondition failed}.
*
* @see HTTP/1.1
*/
PRECONDITION_FAILED(412, "Precondition Failed"),
/**
* {@code 413 Request Entity Too Large}.
*
* @see HTTP/1.1
*/
REQUEST_ENTITY_TOO_LARGE(413, "Request Entity Too Large"),
/**
* {@code 414 Request-URI Too Long}.
*
* @see HTTP/1.1
*/
REQUEST_URI_TOO_LONG(414, "Request-URI Too Large"),
/**
* {@code 415 Unsupported Media Type}.
*
* @see HTTP/1.1
*/
UNSUPPORTED_MEDIA_TYPE(415, "Unsupported Media Type"),
/**
* {@code 416 Requested Range Not Satisfiable}.
*
* @see HTTP/1.1
*/
REQUESTED_RANGE_NOT_SATISFIABLE(416, "Requested range not satisfiable"),
/**
* {@code 417 Expectation Failed}.
*
* @see HTTP/1.1
*/
EXPECTATION_FAILED(417, "Expectation Failed"),
/**
* {@code 418 I'm a teapot}.
* RFC 2324
*
* @see HTTP extended
*/
I_AM_A_TEAPOT(418, "I'm a teapot"),
/**
* {@code 422 Unprocessable Entity}.
*
* @see WebDAV; RFC 4918
*/
UNPROCESSABLE_ENTITY(422, "Unprocessable Entity"),
/**
* {@code 423 Locked}.
*
* @see WebDAV; RFC 4918
*/
LOCKED(423, "Locked"),
/**
* {@code 424 Failed Dependency}.
*
* @see WebDAV; RFC 4918
*/
FAILED_DEPENDENCY(424, "Failed Dependency"),
/**
* {@code 428 Precondition Required}.
*
* @see RFC 6585
*/
PRECONDITION_REQUIRED(428, "Precondition Required"),
/**
* {@code 429 Too Many Requests}.
*
* @see RFC 6585
*/
TOO_MANY_REQUESTS(429, "Too Many Requests"),
/**
* {@code 431 Request Header Fields Too Large}.
*
* @see RFC 6585
*/
REQUEST_HEADER_FIELDS_TOO_LARGE(431, "Request Header Fields Too Large"),
/**
* {@code 500 Internal Server Error}.
*
* @see HTTP/1.1
*/
INTERNAL_SERVER_ERROR(500, "Internal Server Error"),
/**
* {@code 501 Not Implemented}.
*
* @see HTTP/1.1
*/
NOT_IMPLEMENTED(501, "Not Implemented"),
/**
* {@code 502 Bad Gateway}.
*
* @see HTTP/1.1
*/
BAD_GATEWAY(502, "Bad Gateway"),
/**
* {@code 503 Service Unavailable}.
*
* @see HTTP/1.1
*/
SERVICE_UNAVAILABLE(503, "Service Unavailable"),
/**
* {@code 504 Gateway Timeout}.
*
* @see HTTP/1.1
*/
GATEWAY_TIMEOUT(504, "Gateway Time-out"),
/**
* {@code 505 HTTP Version Not Supported}.
*
* @see HTTP/1.1
*/
HTTP_VERSION_NOT_SUPPORTED(505, "HTTP Version not supported");
private final int code;
private final String desc;
private HttpStatus(int code, String desc) {
this.code = code;
this.desc = desc;
}
public static HttpStatus havingCode(int code) {
for (HttpStatus httpStatus : values()) {
if (httpStatus.code == code) {
return httpStatus;
}
}
throw new IllegalArgumentException("Invalid HTTP Status code : " + code);
}
public int getCode() {
return code;
}
public String getDesc() {
return desc;
}
public Descriptor createDescriptor() {
return new Descriptor(this);
}
public static class Descriptor {
private final HttpStatus status;
public Descriptor(HttpStatus status) {
this.status = status;
}
public int getCode() {
return status.getCode();
}
public String getDesc() {
return status.getDesc();
}
}
}