/** * Copyright 2012 Comcast Corporation * * 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.comcast.cmb.common.util; /** * class captures all the error codes * @author aseem, bwolf, baosen, michael * * Class is immutable */ public class CMBErrorCodes { public static final CMBErrorCodes AccessDenied = new CMBErrorCodes(403, "AccessDenied"); // Access to the resource is denied. public static final CMBErrorCodes AuthFailure = new CMBErrorCodes(401, "AuthFailure"); // A value used for authentication could not be validated, such as Signature. For an example, see Example Response for AuthFailure Error. public static final CMBErrorCodes ConflictingQueryParameter = new CMBErrorCodes(400, "ConflictingQueryParameter"); // The query parameter <parameter> is invalid. Its structure conflicts with that of another parameter. public static final CMBErrorCodes InternalError = new CMBErrorCodes(500, "InternalError"); // There is an internal problem. public static final CMBErrorCodes InvalidAccessKeyId = new CMBErrorCodes(401, "InvalidAccessKeyId"); // not able to validate the provided access credentials. public static final CMBErrorCodes InvalidAction = new CMBErrorCodes(400, "InvalidAction"); // The action specified was invalid. public static final CMBErrorCodes InvalidAddress = new CMBErrorCodes(404, "InvalidAddress"); // The address <address> is not valid for this web service. public static final CMBErrorCodes InvalidHttpRequest = new CMBErrorCodes(400, "InvalidHttpRequest"); // Invalid HTTP request. Reason: <reason>. public static final CMBErrorCodes InvalidParameterCombination = new CMBErrorCodes(400, "InvalidParameterCombination"); // Two parameters were specified that cannot be used together, such as Timestamp and Expires. public static final CMBErrorCodes InvalidParameterValue = new CMBErrorCodes(400, "InvalidParameterValue"); // One or more parameters cannot be validated. public static final CMBErrorCodes InvalidQueryParameter = new CMBErrorCodes(400, "InvalidQueryParameter"); // The query parameter <parameter> is invalid. Please see service documentation for correct syntax. public static final CMBErrorCodes InvalidRequest = new CMBErrorCodes(400, "InvalidRequest"); // The service cannot handle the request. Request is invalid. public static final CMBErrorCodes InvalidSecurity = new CMBErrorCodes(403, "InvalidSecurity"); // The provided security credentials are not valid. Reason: <reason>. public static final CMBErrorCodes InvalidSecurityToken = new CMBErrorCodes(400, "InvalidSecurityToken"); // The security token used in the request is invalid. Reason: <reason>. public static final CMBErrorCodes MalformedVersion = new CMBErrorCodes(400, "MalformedVersion"); // Version not well formed: <version>. Must be in YYYY-MM-DD format. public static final CMBErrorCodes InvalidMessageContents = new CMBErrorCodes(400, "InvalidMessageContents"); // The message contains characters outside the allowed set. public static final CMBErrorCodes MessageTooLong = new CMBErrorCodes(400, "MessageTooLong"); // The message size cannot exceed 64 KB. public static final CMBErrorCodes MissingClientTokenId = new CMBErrorCodes(403, "MissingClientTokenId"); // Request must contain AWSAccessKeyId. public static final CMBErrorCodes MissingCredentials = new CMBErrorCodes(401, "MissingCredentials"); // Not able to authenticate the request: access credentials are missing. public static final CMBErrorCodes MissingParameter = new CMBErrorCodes(400, "MissingParameter"); // A required parameter is missing. public static final CMBErrorCodes InvalidAttributeName = new CMBErrorCodes(400, "InvalidAttributeName"); // An attribute name is invalid. public static final CMBErrorCodes InvalidAttributeValue = new CMBErrorCodes(400, "InvalidAttributeValue"); // An attribute value is invalid. public static final CMBErrorCodes NoSuchVersion = new CMBErrorCodes(400, "NoSuchVersion"); // An incorrect version was specified in the request. public static final CMBErrorCodes NotAuthorizedToUseVersion = new CMBErrorCodes(401, "NotAuthorizedToUseVersion"); public static final CMBErrorCodes QueueNameExists = new CMBErrorCodes(400, "QueueNameExists"); // The queue name exists public static final CMBErrorCodes ReadCountOutOfRange = new CMBErrorCodes(400, "ReadCountOutOfRange"); // The value for MaxNumberOfMessages is not valid (must be from 1 to 10). public static final CMBErrorCodes RequestExpired = new CMBErrorCodes(400, "RequestExpired"); // The timestamp used with the signature has expired. public static final CMBErrorCodes RequestThrottled = new CMBErrorCodes(503, "RequestThrottled"); // Request is throttled. public static final CMBErrorCodes ServiceUnavailable = new CMBErrorCodes(503, "ServiceUnavailable"); // A required server needed by CQS is unavailable. This error is often temporary; resend the request after a short wait. public static final CMBErrorCodes X509ParseError = new CMBErrorCodes(400, "X509ParseError"); // Could not parse X.509 certificate. public static final CMBErrorCodes NotFound = new CMBErrorCodes(404, "NotFound"); // The resource was not found. public static final CMBErrorCodes InvalidSignature = new CMBErrorCodes(430, "SignatureDoesNotMatch"); // invalid signature public static final CMBErrorCodes InvalidSignatureVersion = new CMBErrorCodes(430, "InvalidSignatureVersion"); // invalid signature version public static final CMBErrorCodes ValidationError = new CMBErrorCodes(400, "ValidationError"); // The queue name exists private final int httpCode; private final String cmbCode; public CMBErrorCodes(int httpCode, String cmbCode) { this.httpCode = httpCode; this.cmbCode = cmbCode; } public int getHttpCode() { return httpCode; } public String getCMBCode() { return cmbCode; } }