/* * MinIO Go Library for Amazon S3 Compatible Cloud Storage * Copyright 2015-2017 MinIO, Inc. * * 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 minio // Constants for error keys const ( NoSuchBucket = "NoSuchBucket" NoSuchKey = "NoSuchKey" NoSuchUpload = "NoSuchUpload" AccessDenied = "AccessDenied" Conflict = "Conflict" PreconditionFailed = "PreconditionFailed" InvalidArgument = "InvalidArgument" EntityTooLarge = "EntityTooLarge" EntityTooSmall = "EntityTooSmall" UnexpectedEOF = "UnexpectedEOF" APINotSupported = "APINotSupported" InvalidRegion = "InvalidRegion" NoSuchBucketPolicy = "NoSuchBucketPolicy" BadDigest = "BadDigest" IncompleteBody = "IncompleteBody" InternalError = "InternalError" InvalidAccessKeyID = "InvalidAccessKeyId" InvalidBucketName = "InvalidBucketName" InvalidDigest = "InvalidDigest" InvalidRange = "InvalidRange" MalformedXML = "MalformedXML" MissingContentLength = "MissingContentLength" MissingContentMD5 = "MissingContentMD5" MissingRequestBodyError = "MissingRequestBodyError" NotImplemented = "NotImplemented" RequestTimeTooSkewed = "RequestTimeTooSkewed" SignatureDoesNotMatch = "SignatureDoesNotMatch" MethodNotAllowed = "MethodNotAllowed" InvalidPart = "InvalidPart" InvalidPartOrder = "InvalidPartOrder" InvalidObjectState = "InvalidObjectState" AuthorizationHeaderMalformed = "AuthorizationHeaderMalformed" MalformedPOSTRequest = "MalformedPOSTRequest" BucketNotEmpty = "BucketNotEmpty" AllAccessDisabled = "AllAccessDisabled" MalformedPolicy = "MalformedPolicy" MissingFields = "MissingFields" AuthorizationQueryParametersError = "AuthorizationQueryParametersError" MalformedDate = "MalformedDate" BucketAlreadyOwnedByYou = "BucketAlreadyOwnedByYou" InvalidDuration = "InvalidDuration" XAmzContentSHA256Mismatch = "XAmzContentSHA256Mismatch" XMinioInvalidObjectName = "XMinioInvalidObjectName" NoSuchCORSConfiguration = "NoSuchCORSConfiguration" BucketAlreadyExists = "BucketAlreadyExists" NoSuchVersion = "NoSuchVersion" NoSuchTagSet = "NoSuchTagSet" Testing = "Testing" Success = "Success" ) // Non exhaustive list of AWS S3 standard error responses - // http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html var s3ErrorResponseMap = map[string]string{ AccessDenied: "Access Denied.", BadDigest: "The Content-Md5 you specified did not match what we received.", EntityTooSmall: "Your proposed upload is smaller than the minimum allowed object size.", EntityTooLarge: "Your proposed upload exceeds the maximum allowed object size.", IncompleteBody: "You did not provide the number of bytes specified by the Content-Length HTTP header.", InternalError: "We encountered an internal error, please try again.", InvalidAccessKeyID: "The access key ID you provided does not exist in our records.", InvalidBucketName: "The specified bucket is not valid.", InvalidDigest: "The Content-Md5 you specified is not valid.", InvalidRange: "The requested range is not satisfiable.", MalformedXML: "The XML you provided was not well-formed or did not validate against our published schema.", MissingContentLength: "You must provide the Content-Length HTTP header.", MissingContentMD5: "Missing required header for this request: Content-Md5.", MissingRequestBodyError: "Request body is empty.", NoSuchBucket: "The specified bucket does not exist.", NoSuchBucketPolicy: "The bucket policy does not exist.", NoSuchKey: "The specified key does not exist.", NoSuchUpload: "The specified multipart upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.", NotImplemented: "A header you provided implies functionality that is not implemented.", PreconditionFailed: "At least one of the pre-conditions you specified did not hold.", RequestTimeTooSkewed: "The difference between the request time and the server's time is too large.", SignatureDoesNotMatch: "The request signature we calculated does not match the signature you provided. Check your key and signing method.", MethodNotAllowed: "The specified method is not allowed against this resource.", InvalidPart: "One or more of the specified parts could not be found.", InvalidPartOrder: "The list of parts was not in ascending order. The parts list must be specified in order by part number.", InvalidObjectState: "The operation is not valid for the current state of the object.", AuthorizationHeaderMalformed: "The authorization header is malformed; the region is wrong.", MalformedPOSTRequest: "The body of your POST request is not well-formed multipart/form-data.", BucketNotEmpty: "The bucket you tried to delete is not empty.", AllAccessDisabled: "All access to this bucket has been disabled.", MalformedPolicy: "Policy has invalid resource.", MissingFields: "Missing fields in request.", AuthorizationQueryParametersError: "Error parsing the X-Amz-Credential parameter; the Credential is mal-formed; expecting \"/YYYYMMDD/REGION/SERVICE/aws4_request\".", MalformedDate: "Invalid date format header, expected to be in ISO8601, RFC1123 or RFC1123Z time format.", BucketAlreadyOwnedByYou: "Your previous request to create the named bucket succeeded and you already own it.", InvalidDuration: "Duration provided in the request is invalid.", XAmzContentSHA256Mismatch: "The provided 'x-amz-content-sha256' header does not match what was computed.", NoSuchCORSConfiguration: "The specified bucket does not have a CORS configuration.", Conflict: "Bucket not empty.", // Add new API errors here. }