package org.swisspush.redisques.util;
/**
* Enum for HTTP status codes
*
* @author https://github.com/mcweba [Marc-Andre Weber]
*/
public enum StatusCode {
OK(200, "OK"),
ACCEPTED(202, "Accepted"),
NOT_MODIFIED(304, "Not Modified"),
BAD_REQUEST(400, "Bad Request"),
FORBIDDEN(403, "Forbidden"),
NOT_FOUND(404, "Not Found"),
METHOD_NOT_ALLOWED(405, "Method Not Allowed"),
CONFLICT(409, "Conflict"),
INTERNAL_SERVER_ERROR(500, "Internal Server Error"),
SERVICE_UNAVAILABLE(503, "Service Unavailable"),
TIMEOUT(504,"Gateway Timeout"),
INSUFFICIENT_STORAGE(507, "Insufficient Storage");
private final int statusCode;
private final String statusMessage;
StatusCode(int statusCode, String statusMessage) {
this.statusCode = statusCode;
this.statusMessage = statusMessage;
}
public int getStatusCode() {
return statusCode;
}
public String getStatusMessage() {
return statusMessage;
}
@Override
public String toString() {
return statusCode + " " + statusMessage;
}
/**
* Returns the enum StatusCode which matches the specified http status code.
*
* @param code code
* @return The matching StatusCode or null if none matches.
*/
public static StatusCode fromCode(int code) {
for (StatusCode statuscode : values()) {
if (statuscode.getStatusCode() == code) {
return statuscode;
}
}
return null;
}
}