com.huawei.openstack4j.api.exceptions.StatusCode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openstack4j Show documentation
Show all versions of openstack4j Show documentation
Huawei Cloud Open API SDK for Java
/*******************************************************************************
* 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;
}
}