Documentation
¶
Index ¶
- Variables
- func GetAPIErrorResponse(err APIError, resource, requestID, hostID string) []byte
- type APIError
- func CreateExceedingRangeErr(objSize int64) APIError
- func GetAPIError(code ErrorCode) APIError
- func GetChecksumBadDigestErr(algo types.ChecksumAlgorithm) APIError
- func GetChecksumSchemaMismatchErr(algo types.ChecksumAlgorithm, t types.ChecksumType) APIError
- func GetChecksumTypeMismatchErr(expected, actual types.ChecksumAlgorithm) APIError
- func GetChecksumTypeMismatchOnMpErr(t types.ChecksumType) APIError
- func GetIncorrectMpObjectSizeErr(expected, actual int64) APIError
- func GetInvalidCORSHeaderErr(header string) APIError
- func GetInvalidCORSMethodErr(method string) APIError
- func GetInvalidCORSRequestHeaderErr(header string) APIError
- func GetInvalidChecksumHeaderErr(header string) APIError
- func GetInvalidMpObjectSizeErr(val string) APIError
- func GetInvalidTrailingChecksumHeaderErr(header string) APIError
- func GetNegatvieMpObjectSizeErr(val int64) APIError
- func GetUnsopportedCORSMethodErr(method string) APIError
- type APIErrorResponse
- type ErrorCode
Constants ¶
This section is empty.
Variables ¶
View Source
var MalformedAuth = struct { InvalidDateFormat func(string) APIError MalformedCredential func() APIError MissingCredential func() APIError MissingSignature func() APIError MissingSignedHeaders func() APIError InvalidTerminal func(string) APIError IncorrectRegion func(expected, actual string) APIError IncorrectService func(string) APIError MalformedComponent func(string) APIError MissingComponents func() APIError DateMismatch func() APIError }{ InvalidDateFormat: func(s string) APIError { return malformedAuthError("incorrect date format %q. This date in the credential must be in the format \"yyyyMMdd\".", s) }, MalformedCredential: func() APIError { return malformedAuthError("the Credential is mal-formed; expecting \"<YOUR-AKID>/YYYYMMDD/REGION/SERVICE/aws4_request\".") }, MissingCredential: func() APIError { return malformedAuthError("missing Credential.") }, MissingSignature: func() APIError { return malformedAuthError("missing Signature.") }, MissingSignedHeaders: func() APIError { return malformedAuthError("missing SignedHeaders.") }, InvalidTerminal: func(s string) APIError { return malformedAuthError("incorrect terminal %q. This endpoint uses \"aws4_request\".", s) }, IncorrectRegion: func(expected, actual string) APIError { return malformedAuthError("the region %q is wrong; expecting %q", actual, expected) }, IncorrectService: func(s string) APIError { return malformedAuthError("incorrect service %q. This endpoint belongs to \"s3\".", s) }, MalformedComponent: func(s string) APIError { return malformedAuthError("the authorization component %q is malformed.", s) }, MissingComponents: func() APIError { return malformedAuthError("the authorization header requires three components: Credential, SignedHeaders, and Signature.") }, DateMismatch: func() APIError { return malformedAuthError("The authorization header is malformed; Invalid credential date. Date is not the same as X-Amz-Date.") }, }
View Source
var QueryAuthErrors = struct { UnsupportedAlgorithm func() APIError MalformedCredential func() APIError IncorrectService func(string) APIError IncorrectRegion func(expected, actual string) APIError IncorrectTerminal func(string) APIError InvalidDateFormat func(string) APIError DateMismatch func(expected, actual string) APIError ExpiresTooLarge func() APIError ExpiresNegative func() APIError ExpiresNumber func() APIError MissingRequiredParams func() APIError InvalidXAmzDateFormat func() APIError RequestNotYetValid func() APIError RequestExpired func() APIError InvalidAccessKeyId func() APIError // a custom non-AWS error OnlyHMACSupported func() APIError SecurityTokenNotSupported func() APIError }{ UnsupportedAlgorithm: func() APIError { return authQueryParamError(`X-Amz-Algorithm only supports "AWS4-HMAC-SHA256 and AWS4-ECDSA-P256-SHA256"`) }, MalformedCredential: func() APIError { return authQueryParamError(`Error parsing the X-Amz-Credential parameter; the Credential is mal-formed; expecting "<YOUR-AKID>/YYYYMMDD/REGION/SERVICE/aws4_request".`) }, IncorrectService: func(s string) APIError { return authQueryParamError(`Error parsing the X-Amz-Credential parameter; incorrect service %q. This endpoint belongs to "s3".`, s) }, IncorrectRegion: func(expected, actual string) APIError { return authQueryParamError(`Error parsing the X-Amz-Credential parameter; the region %q is wrong; expecting %q`, actual, expected) }, IncorrectTerminal: func(s string) APIError { return authQueryParamError(`Error parsing the X-Amz-Credential parameter; incorrect terminal %q. This endpoint uses "aws4_request".`, s) }, InvalidDateFormat: func(s string) APIError { return authQueryParamError(`Error parsing the X-Amz-Credential parameter; incorrect date format %q. This date in the credential must be in the format "yyyyMMdd".`, s) }, DateMismatch: func(expected, actual string) APIError { return authQueryParamError(`Invalid credential date %q. This date is not the same as X-Amz-Date: %q.`, expected, actual) }, ExpiresTooLarge: func() APIError { return authQueryParamError("X-Amz-Expires must be less than a week (in seconds); that is, the given X-Amz-Expires must be less than 604800 seconds") }, ExpiresNegative: func() APIError { return authQueryParamError("X-Amz-Expires must be non-negative") }, ExpiresNumber: func() APIError { return authQueryParamError("X-Amz-Expires should be a number") }, MissingRequiredParams: func() APIError { return authQueryParamError("Query-string authentication version 4 requires the X-Amz-Algorithm, X-Amz-Credential, X-Amz-Signature, X-Amz-Date, X-Amz-SignedHeaders, and X-Amz-Expires parameters.") }, InvalidXAmzDateFormat: func() APIError { return authQueryParamError(`X-Amz-Date must be in the ISO8601 Long Format "yyyyMMdd'T'HHmmss'Z'"`) }, OnlyHMACSupported: func() APIError { return authQueryParamError("X-Amz-Algorithm only supports \"AWS4-HMAC-SHA256\"") }, SecurityTokenNotSupported: func() APIError { return authQueryParamError("Authorization with X-Amz-Security-Token is not supported") }, }
Functions ¶
func GetAPIErrorResponse ¶
getErrorResponse gets in standard error and resource value and provides a encodable populated response values
Types ¶
type APIError ¶
APIError structure
func CreateExceedingRangeErr ¶ added in v1.0.11
func GetAPIError ¶
GetAPIError provides API Error for input API error code.
func GetChecksumBadDigestErr ¶ added in v1.0.11
func GetChecksumBadDigestErr(algo types.ChecksumAlgorithm) APIError
Returns incorrect checksum APIError
func GetChecksumSchemaMismatchErr ¶ added in v1.0.11
func GetChecksumSchemaMismatchErr(algo types.ChecksumAlgorithm, t types.ChecksumType) APIError
Returns checksum type mismatch error with checksum algorithm
func GetChecksumTypeMismatchErr ¶ added in v1.0.11
func GetChecksumTypeMismatchErr(expected, actual types.ChecksumAlgorithm) APIError
Returns checksum type mismatch APIError
func GetChecksumTypeMismatchOnMpErr ¶ added in v1.0.11
func GetChecksumTypeMismatchOnMpErr(t types.ChecksumType) APIError
Returns checksum type mismatch error for multipart uploads
func GetIncorrectMpObjectSizeErr ¶ added in v1.0.11
func GetInvalidCORSHeaderErr ¶ added in v1.0.17
func GetInvalidCORSMethodErr ¶ added in v1.0.17
func GetInvalidCORSRequestHeaderErr ¶ added in v1.0.17
func GetInvalidChecksumHeaderErr ¶ added in v1.0.11
Returns invalid checksum error with the provided header in the error description
func GetInvalidMpObjectSizeErr ¶ added in v1.0.11
func GetInvalidTrailingChecksumHeaderErr ¶ added in v1.0.13
func GetNegatvieMpObjectSizeErr ¶ added in v1.0.17
func GetUnsopportedCORSMethodErr ¶ added in v1.0.17
type APIErrorResponse ¶
type APIErrorResponse struct {
XMLName xml.Name `xml:"Error" json:"-"`
Code string
Message string
Key string `xml:"Key,omitempty" json:"Key,omitempty"`
BucketName string `xml:"BucketName,omitempty" json:"BucketName,omitempty"`
Resource string
Region string `xml:"Region,omitempty" json:"Region,omitempty"`
RequestID string `xml:"RequestId" json:"RequestId"`
HostID string `xml:"HostId" json:"HostId"`
}
APIErrorResponse - error response format
type ErrorCode ¶
type ErrorCode int
ErrorCode type of error status.
const ( ErrNone ErrorCode = iota ErrAccessDenied ErrAnonymousRequest ErrAnonymousCreateMp ErrAnonymousCopyObject ErrAnonymousPutBucketOwnership ErrAnonymousGetBucketOwnership ErrAnonymousResponseHeaders ErrMethodNotAllowed ErrBucketNotEmpty ErrVersionedBucketNotEmpty ErrBucketAlreadyExists ErrBucketAlreadyOwnedByYou ErrNoSuchBucket ErrNoSuchKey ErrNoSuchUpload ErrInvalidBucketName ErrInvalidDigest ErrBadDigest ErrInvalidMaxKeys ErrInvalidMaxBuckets ErrInvalidMaxUploads ErrInvalidMaxParts ErrInvalidPartNumberMarker ErrInvalidObjectAttributes ErrInvalidPart ErrInvalidPartNumber ErrInvalidPartOrder ErrInvalidCompleteMpPartNumber ErrInternalError ErrNonEmptyRequestBody ErrIncompleteBody ErrInvalidCopyDest ErrInvalidCopySourceRange ErrInvalidCopySourceBucket ErrInvalidCopySourceObject ErrInvalidCopySourceEncoding ErrInvalidTagKey ErrInvalidTagValue ErrDuplicateTagKey ErrBucketTaggingLimited ErrObjectTaggingLimited ErrCannotParseHTTPRequest ErrInvalidURLEncodedTagging ErrInvalidAuthHeader ErrUnsupportedAuthorizationType ErrMalformedPOSTRequest ErrPOSTFileRequired ErrPostPolicyConditionInvalidFormat ErrEntityTooSmall ErrEntityTooLarge ErrMissingFields ErrMissingCredTag ErrMalformedXML ErrMalformedCredentialDate ErrMissingSignHeadersTag ErrMissingSignTag ErrUnsignedHeaders ErrExpiredPresignRequest ErrSignatureDoesNotMatch ErrContentSHA256Mismatch ErrInvalidSHA256Paylod ErrInvalidSHA256PayloadUsage ErrUnsupportedAnonymousSignedStreaming ErrMissingContentLength ErrContentLengthMismatch ErrInvalidAccessKeyID ErrRequestNotReadyYet ErrMissingDateHeader ErrGetUploadsWithKey ErrVersionsWithKey ErrCopySourceNotAllowed ErrInvalidRequest ErrAuthNotSetup ErrNotImplemented ErrPreconditionFailed ErrInvalidObjectState ErrInvalidRange ErrInvalidURI ErrObjectLockConfigurationNotFound ErrNoSuchObjectLockConfiguration ErrMissingObjectLockConfiguration ErrMissingObjectLockConfigurationNoSpaces ErrObjectLockConfigurationNotAllowed ErrObjectLocked ErrInvalidRetainUntilDate ErrPastObjectLockRetainDate ErrObjectLockInvalidRetentionPeriod ErrInvalidLegalHoldStatus ErrInvalidObjectLockMode ErrNoSuchBucketPolicy ErrBucketTaggingNotFound ErrObjectLockInvalidHeaders ErrObjectAttributesInvalidHeader ErrRequestTimeTooSkewed ErrInvalidBucketAclWithObjectOwnership ErrBothCannedAndHeaderGrants ErrOwnershipControlsNotFound ErrAclNotSupported ErrMalformedACL ErrUnexpectedContent ErrMissingSecurityHeader ErrInvalidMetadataDirective ErrInvalidTaggingDirective ErrKeyTooLong ErrInvalidVersionId ErrNoSuchVersion ErrSuspendedVersioningNotAllowed ErrMissingRequestBody ErrMultipleChecksumHeaders ErrChecksumSDKAlgoMismatch ErrChecksumRequired ErrMissingContentSha256 ErrInvalidChecksumAlgorithm ErrInvalidChecksumPart ErrChecksumTypeWithAlgo ErrInvalidChecksumHeader ErrTrailerHeaderNotSupported ErrBadRequest ErrMissingUploadId ErrNoSuchCORSConfiguration ErrCORSForbidden ErrMissingCORSOrigin ErrCORSIsNotEnabled ErrNotModified ErrInvalidLocationConstraint ErrInvalidArgument ErrMalformedTrailer ErrInvalidChunkSize // Non-AWS errors ErrExistingObjectIsDirectory ErrObjectParentIsFile ErrDirectoryObjectContainsData ErrDirectoryNotEmpty ErrQuotaExceeded ErrVersioningNotConfigured // Admin api errors ErrAdminAccessDenied ErrAdminUserNotFound ErrAdminUserExists ErrAdminInvalidUserRole ErrAdminMissingUserAcess ErrAdminMethodNotSupported ErrAdminEmptyBucketOwnerHeader )
Error codes, see full list at http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html
Click to show internal directories.
Click to hide internal directories.