com.huawei.openstack4j.api.exceptions.StatusCode Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* Copyright 2016 ContainX and OpenStack4j
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*******************************************************************************/
package com.huawei.openstack4j.api.exceptions;
/**
* Maps the documented API status codes into a StatusCode Enumeration Type.
*
* @author Jeremy Unruh
*/
public enum StatusCode
{
// Client Status Codes
/** The request cannot be fulfilled due to bad syntax. */
BAD_REQUEST(400),
/** Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided */
UNAUTHORIZED(401),
/** Reserved for future use. */
PAYMENT_REQUIRED(402),
/** The request was a valid request, but the server is refusing to respond to it. */
FORBIDDEN(403),
/** The requested resource could not be found but may be available again in the future */
NOT_FOUND(404),
/** A request was made of a resource using a request method not supported by that resource */
METHOD_NOT_ALLOWED(405),
/** The requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request. */
NOT_ACCEPTABLE(406),
/** The client must first authenticate itself with the proxy. */
PROXY_AUTH_REQUIRED(407),
/** The server timed out waiting for the request. */
REQUEST_TIMEOUT(408),
/** Indicates that the request could not be processed because of conflict in the request, such as an edit conflict. */
CONFLICT(409),
/** Indicates that the resource requested is no longer available and will not be available again */
GONE(410),
/** The request did not specify the length of its content, which is required by the requested resource */
LENGTH_REQUIRED(411),
/** The server does not meet one of the preconditions that the requester put on the request */
PRE_CONDITION_FAILED(412),
/** The request is larger than the server is willing or able to process. */
REQUEST_ENTITY_TOO_LARGE(413),
/** The URI provided was too long for the server to process. */
REQUEST_URI_TOO_LONG(414),
/** The request entity has a media type which the server or resource does not support */
UNSUPPORTED_MEDIATYPE(415),
/** The client has asked for a portion of the file, but the server cannot supply that portion */
REQUESTED_RANGE_NOT_SATISFIABLE(416),
/** The server cannot meet the requirements of the Expect request-header field. */
EXPECTATION_FAILED(417),
/** The request was well-formed but was unable to be followed due to semantic errors */
UNPROCESSABLE_ENTITY(422),
//Server Status Code
/** A generic error message, given when no more specific message is suitable. */
INTERNAL_SERVER_ERROR(500),
/** The server either does not recognize the request method, or it lacks the ability to fulfill the request */
NOT_IMPLEMENTED(501),
/** The server was acting as a gateway or proxy and received an invalid response from the upstream server */
BAD_GATEWAY(502),
/** The server is currently unavailable */
SERVICE_UNAVAILABLE(503),
/** The server was acting as a gateway or proxy and did not receive a timely response from the upstream server. */
GATEWAY_TIMEOUT(504),
/** The server does not support the HTTP protocol version used in the request. */
VERSION_NOT_SUPPORTED(505),
/** Indicates the code we received is not found within this Enum */
CODE_UNKNOWN(0)
;
private final int code;
private StatusCode(int code) {
this.code = code;
}
public int getCode() {
return code;
}
public static StatusCode fromCode(int code) {
for (StatusCode sc : StatusCode.values())
{
if (sc.getCode() == code)
return sc;
}
return CODE_UNKNOWN;
}
}