From 0b33fa50aed60386b24c408b2b3fd116b57bf63d Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Wed, 7 Apr 2021 14:37:10 -0700 Subject: [PATCH] fix: calculate correct content-range with partNumber query (#11992) fixes #11989 fixes #11824 --- cmd/api-errors.go | 6 + cmd/api-headers.go | 8 +- cmd/apierrorcode_string.go | 529 +++++++++++++++++++------------------ cmd/object-handlers.go | 4 +- 4 files changed, 277 insertions(+), 270 deletions(-) diff --git a/cmd/api-errors.go b/cmd/api-errors.go index 6b4d86759..64adcf9ca 100644 --- a/cmd/api-errors.go +++ b/cmd/api-errors.go @@ -82,6 +82,7 @@ const ( ErrInvalidBucketName ErrInvalidDigest ErrInvalidRange + ErrInvalidRangePartNumber ErrInvalidCopyPartRange ErrInvalidCopyPartRangeSource ErrInvalidMaxKeys @@ -505,6 +506,11 @@ var errorCodes = errorCodeMap{ Description: "The requested range is not satisfiable", HTTPStatusCode: http.StatusRequestedRangeNotSatisfiable, }, + ErrInvalidRangePartNumber: { + Code: "InvalidRequest", + Description: "Cannot specify both Range header and partNumber query parameter", + HTTPStatusCode: http.StatusBadRequest, + }, ErrMalformedXML: { Code: "MalformedXML", Description: "The XML you provided was not well-formed or did not validate against our published schema.", diff --git a/cmd/api-headers.go b/cmd/api-headers.go index 8c5025899..aa5213e4e 100644 --- a/cmd/api-headers.go +++ b/cmd/api-headers.go @@ -158,16 +158,16 @@ func setObjectHeaders(w http.ResponseWriter, objInfo ObjectInfo, rs *HTTPRangeSp return err } + if rs == nil && opts.PartNumber > 0 { + rs = partNumberToRangeSpec(objInfo, opts.PartNumber) + } + // For providing ranged content start, rangeLen, err = rs.GetOffsetLength(totalObjectSize) if err != nil { return err } - if rs == nil && opts.PartNumber > 0 { - rs = partNumberToRangeSpec(objInfo, opts.PartNumber) - } - // Set content length. w.Header().Set(xhttp.ContentLength, strconv.FormatInt(rangeLen, 10)) if rs != nil { diff --git a/cmd/apierrorcode_string.go b/cmd/apierrorcode_string.go index e4b6d49ea..712835a72 100644 --- a/cmd/apierrorcode_string.go +++ b/cmd/apierrorcode_string.go @@ -20,273 +20,274 @@ func _() { _ = x[ErrInvalidBucketName-9] _ = x[ErrInvalidDigest-10] _ = x[ErrInvalidRange-11] - _ = x[ErrInvalidCopyPartRange-12] - _ = x[ErrInvalidCopyPartRangeSource-13] - _ = x[ErrInvalidMaxKeys-14] - _ = x[ErrInvalidEncodingMethod-15] - _ = x[ErrInvalidMaxUploads-16] - _ = x[ErrInvalidMaxParts-17] - _ = x[ErrInvalidPartNumberMarker-18] - _ = x[ErrInvalidPartNumber-19] - _ = x[ErrInvalidRequestBody-20] - _ = x[ErrInvalidCopySource-21] - _ = x[ErrInvalidMetadataDirective-22] - _ = x[ErrInvalidCopyDest-23] - _ = x[ErrInvalidPolicyDocument-24] - _ = x[ErrInvalidObjectState-25] - _ = x[ErrMalformedXML-26] - _ = x[ErrMissingContentLength-27] - _ = x[ErrMissingContentMD5-28] - _ = x[ErrMissingRequestBodyError-29] - _ = x[ErrMissingSecurityHeader-30] - _ = x[ErrNoSuchBucket-31] - _ = x[ErrNoSuchBucketPolicy-32] - _ = x[ErrNoSuchBucketLifecycle-33] - _ = x[ErrNoSuchLifecycleConfiguration-34] - _ = x[ErrNoSuchBucketSSEConfig-35] - _ = x[ErrNoSuchCORSConfiguration-36] - _ = x[ErrNoSuchWebsiteConfiguration-37] - _ = x[ErrReplicationConfigurationNotFoundError-38] - _ = x[ErrRemoteDestinationNotFoundError-39] - _ = x[ErrReplicationDestinationMissingLock-40] - _ = x[ErrRemoteTargetNotFoundError-41] - _ = x[ErrReplicationRemoteConnectionError-42] - _ = x[ErrBucketRemoteIdenticalToSource-43] - _ = x[ErrBucketRemoteAlreadyExists-44] - _ = x[ErrBucketRemoteLabelInUse-45] - _ = x[ErrBucketRemoteArnTypeInvalid-46] - _ = x[ErrBucketRemoteArnInvalid-47] - _ = x[ErrBucketRemoteRemoveDisallowed-48] - _ = x[ErrRemoteTargetNotVersionedError-49] - _ = x[ErrReplicationSourceNotVersionedError-50] - _ = x[ErrReplicationNeedsVersioningError-51] - _ = x[ErrReplicationBucketNeedsVersioningError-52] - _ = x[ErrObjectRestoreAlreadyInProgress-53] - _ = x[ErrNoSuchKey-54] - _ = x[ErrNoSuchUpload-55] - _ = x[ErrInvalidVersionID-56] - _ = x[ErrNoSuchVersion-57] - _ = x[ErrNotImplemented-58] - _ = x[ErrPreconditionFailed-59] - _ = x[ErrRequestTimeTooSkewed-60] - _ = x[ErrSignatureDoesNotMatch-61] - _ = x[ErrMethodNotAllowed-62] - _ = x[ErrInvalidPart-63] - _ = x[ErrInvalidPartOrder-64] - _ = x[ErrAuthorizationHeaderMalformed-65] - _ = x[ErrMalformedPOSTRequest-66] - _ = x[ErrPOSTFileRequired-67] - _ = x[ErrSignatureVersionNotSupported-68] - _ = x[ErrBucketNotEmpty-69] - _ = x[ErrAllAccessDisabled-70] - _ = x[ErrMalformedPolicy-71] - _ = x[ErrMissingFields-72] - _ = x[ErrMissingCredTag-73] - _ = x[ErrCredMalformed-74] - _ = x[ErrInvalidRegion-75] - _ = x[ErrInvalidServiceS3-76] - _ = x[ErrInvalidServiceSTS-77] - _ = x[ErrInvalidRequestVersion-78] - _ = x[ErrMissingSignTag-79] - _ = x[ErrMissingSignHeadersTag-80] - _ = x[ErrMalformedDate-81] - _ = x[ErrMalformedPresignedDate-82] - _ = x[ErrMalformedCredentialDate-83] - _ = x[ErrMalformedCredentialRegion-84] - _ = x[ErrMalformedExpires-85] - _ = x[ErrNegativeExpires-86] - _ = x[ErrAuthHeaderEmpty-87] - _ = x[ErrExpiredPresignRequest-88] - _ = x[ErrRequestNotReadyYet-89] - _ = x[ErrUnsignedHeaders-90] - _ = x[ErrMissingDateHeader-91] - _ = x[ErrInvalidQuerySignatureAlgo-92] - _ = x[ErrInvalidQueryParams-93] - _ = x[ErrBucketAlreadyOwnedByYou-94] - _ = x[ErrInvalidDuration-95] - _ = x[ErrBucketAlreadyExists-96] - _ = x[ErrMetadataTooLarge-97] - _ = x[ErrUnsupportedMetadata-98] - _ = x[ErrMaximumExpires-99] - _ = x[ErrSlowDown-100] - _ = x[ErrInvalidPrefixMarker-101] - _ = x[ErrBadRequest-102] - _ = x[ErrKeyTooLongError-103] - _ = x[ErrInvalidBucketObjectLockConfiguration-104] - _ = x[ErrObjectLockConfigurationNotFound-105] - _ = x[ErrObjectLockConfigurationNotAllowed-106] - _ = x[ErrNoSuchObjectLockConfiguration-107] - _ = x[ErrObjectLocked-108] - _ = x[ErrInvalidRetentionDate-109] - _ = x[ErrPastObjectLockRetainDate-110] - _ = x[ErrUnknownWORMModeDirective-111] - _ = x[ErrBucketTaggingNotFound-112] - _ = x[ErrObjectLockInvalidHeaders-113] - _ = x[ErrInvalidTagDirective-114] - _ = x[ErrInvalidEncryptionMethod-115] - _ = x[ErrInsecureSSECustomerRequest-116] - _ = x[ErrSSEMultipartEncrypted-117] - _ = x[ErrSSEEncryptedObject-118] - _ = x[ErrInvalidEncryptionParameters-119] - _ = x[ErrInvalidSSECustomerAlgorithm-120] - _ = x[ErrInvalidSSECustomerKey-121] - _ = x[ErrMissingSSECustomerKey-122] - _ = x[ErrMissingSSECustomerKeyMD5-123] - _ = x[ErrSSECustomerKeyMD5Mismatch-124] - _ = x[ErrInvalidSSECustomerParameters-125] - _ = x[ErrIncompatibleEncryptionMethod-126] - _ = x[ErrKMSNotConfigured-127] - _ = x[ErrKMSAuthFailure-128] - _ = x[ErrNoAccessKey-129] - _ = x[ErrInvalidToken-130] - _ = x[ErrEventNotification-131] - _ = x[ErrARNNotification-132] - _ = x[ErrRegionNotification-133] - _ = x[ErrOverlappingFilterNotification-134] - _ = x[ErrFilterNameInvalid-135] - _ = x[ErrFilterNamePrefix-136] - _ = x[ErrFilterNameSuffix-137] - _ = x[ErrFilterValueInvalid-138] - _ = x[ErrOverlappingConfigs-139] - _ = x[ErrUnsupportedNotification-140] - _ = x[ErrContentSHA256Mismatch-141] - _ = x[ErrReadQuorum-142] - _ = x[ErrWriteQuorum-143] - _ = x[ErrParentIsObject-144] - _ = x[ErrStorageFull-145] - _ = x[ErrRequestBodyParse-146] - _ = x[ErrObjectExistsAsDirectory-147] - _ = x[ErrInvalidObjectName-148] - _ = x[ErrInvalidObjectNamePrefixSlash-149] - _ = x[ErrInvalidResourceName-150] - _ = x[ErrServerNotInitialized-151] - _ = x[ErrOperationTimedOut-152] - _ = x[ErrClientDisconnected-153] - _ = x[ErrOperationMaxedOut-154] - _ = x[ErrInvalidRequest-155] - _ = x[ErrInvalidStorageClass-156] - _ = x[ErrBackendDown-157] - _ = x[ErrMalformedJSON-158] - _ = x[ErrAdminNoSuchUser-159] - _ = x[ErrAdminNoSuchGroup-160] - _ = x[ErrAdminGroupNotEmpty-161] - _ = x[ErrAdminNoSuchPolicy-162] - _ = x[ErrAdminInvalidArgument-163] - _ = x[ErrAdminInvalidAccessKey-164] - _ = x[ErrAdminInvalidSecretKey-165] - _ = x[ErrAdminConfigNoQuorum-166] - _ = x[ErrAdminConfigTooLarge-167] - _ = x[ErrAdminConfigBadJSON-168] - _ = x[ErrAdminConfigDuplicateKeys-169] - _ = x[ErrAdminCredentialsMismatch-170] - _ = x[ErrInsecureClientRequest-171] - _ = x[ErrObjectTampered-172] - _ = x[ErrAdminBucketQuotaExceeded-173] - _ = x[ErrAdminNoSuchQuotaConfiguration-174] - _ = x[ErrHealNotImplemented-175] - _ = x[ErrHealNoSuchProcess-176] - _ = x[ErrHealInvalidClientToken-177] - _ = x[ErrHealMissingBucket-178] - _ = x[ErrHealAlreadyRunning-179] - _ = x[ErrHealOverlappingPaths-180] - _ = x[ErrIncorrectContinuationToken-181] - _ = x[ErrEmptyRequestBody-182] - _ = x[ErrUnsupportedFunction-183] - _ = x[ErrInvalidExpressionType-184] - _ = x[ErrBusy-185] - _ = x[ErrUnauthorizedAccess-186] - _ = x[ErrExpressionTooLong-187] - _ = x[ErrIllegalSQLFunctionArgument-188] - _ = x[ErrInvalidKeyPath-189] - _ = x[ErrInvalidCompressionFormat-190] - _ = x[ErrInvalidFileHeaderInfo-191] - _ = x[ErrInvalidJSONType-192] - _ = x[ErrInvalidQuoteFields-193] - _ = x[ErrInvalidRequestParameter-194] - _ = x[ErrInvalidDataType-195] - _ = x[ErrInvalidTextEncoding-196] - _ = x[ErrInvalidDataSource-197] - _ = x[ErrInvalidTableAlias-198] - _ = x[ErrMissingRequiredParameter-199] - _ = x[ErrObjectSerializationConflict-200] - _ = x[ErrUnsupportedSQLOperation-201] - _ = x[ErrUnsupportedSQLStructure-202] - _ = x[ErrUnsupportedSyntax-203] - _ = x[ErrUnsupportedRangeHeader-204] - _ = x[ErrLexerInvalidChar-205] - _ = x[ErrLexerInvalidOperator-206] - _ = x[ErrLexerInvalidLiteral-207] - _ = x[ErrLexerInvalidIONLiteral-208] - _ = x[ErrParseExpectedDatePart-209] - _ = x[ErrParseExpectedKeyword-210] - _ = x[ErrParseExpectedTokenType-211] - _ = x[ErrParseExpected2TokenTypes-212] - _ = x[ErrParseExpectedNumber-213] - _ = x[ErrParseExpectedRightParenBuiltinFunctionCall-214] - _ = x[ErrParseExpectedTypeName-215] - _ = x[ErrParseExpectedWhenClause-216] - _ = x[ErrParseUnsupportedToken-217] - _ = x[ErrParseUnsupportedLiteralsGroupBy-218] - _ = x[ErrParseExpectedMember-219] - _ = x[ErrParseUnsupportedSelect-220] - _ = x[ErrParseUnsupportedCase-221] - _ = x[ErrParseUnsupportedCaseClause-222] - _ = x[ErrParseUnsupportedAlias-223] - _ = x[ErrParseUnsupportedSyntax-224] - _ = x[ErrParseUnknownOperator-225] - _ = x[ErrParseMissingIdentAfterAt-226] - _ = x[ErrParseUnexpectedOperator-227] - _ = x[ErrParseUnexpectedTerm-228] - _ = x[ErrParseUnexpectedToken-229] - _ = x[ErrParseUnexpectedKeyword-230] - _ = x[ErrParseExpectedExpression-231] - _ = x[ErrParseExpectedLeftParenAfterCast-232] - _ = x[ErrParseExpectedLeftParenValueConstructor-233] - _ = x[ErrParseExpectedLeftParenBuiltinFunctionCall-234] - _ = x[ErrParseExpectedArgumentDelimiter-235] - _ = x[ErrParseCastArity-236] - _ = x[ErrParseInvalidTypeParam-237] - _ = x[ErrParseEmptySelect-238] - _ = x[ErrParseSelectMissingFrom-239] - _ = x[ErrParseExpectedIdentForGroupName-240] - _ = x[ErrParseExpectedIdentForAlias-241] - _ = x[ErrParseUnsupportedCallWithStar-242] - _ = x[ErrParseNonUnaryAgregateFunctionCall-243] - _ = x[ErrParseMalformedJoin-244] - _ = x[ErrParseExpectedIdentForAt-245] - _ = x[ErrParseAsteriskIsNotAloneInSelectList-246] - _ = x[ErrParseCannotMixSqbAndWildcardInSelectList-247] - _ = x[ErrParseInvalidContextForWildcardInSelectList-248] - _ = x[ErrIncorrectSQLFunctionArgumentType-249] - _ = x[ErrValueParseFailure-250] - _ = x[ErrEvaluatorInvalidArguments-251] - _ = x[ErrIntegerOverflow-252] - _ = x[ErrLikeInvalidInputs-253] - _ = x[ErrCastFailed-254] - _ = x[ErrInvalidCast-255] - _ = x[ErrEvaluatorInvalidTimestampFormatPattern-256] - _ = x[ErrEvaluatorInvalidTimestampFormatPatternSymbolForParsing-257] - _ = x[ErrEvaluatorTimestampFormatPatternDuplicateFields-258] - _ = x[ErrEvaluatorTimestampFormatPatternHourClockAmPmMismatch-259] - _ = x[ErrEvaluatorUnterminatedTimestampFormatPatternToken-260] - _ = x[ErrEvaluatorInvalidTimestampFormatPatternToken-261] - _ = x[ErrEvaluatorInvalidTimestampFormatPatternSymbol-262] - _ = x[ErrEvaluatorBindingDoesNotExist-263] - _ = x[ErrMissingHeaders-264] - _ = x[ErrInvalidColumnIndex-265] - _ = x[ErrAdminConfigNotificationTargetsFailed-266] - _ = x[ErrAdminProfilerNotEnabled-267] - _ = x[ErrInvalidDecompressedSize-268] - _ = x[ErrAddUserInvalidArgument-269] - _ = x[ErrAdminAccountNotEligible-270] - _ = x[ErrAccountNotEligible-271] - _ = x[ErrServiceAccountNotFound-272] - _ = x[ErrPostPolicyConditionInvalidFormat-273] + _ = x[ErrInvalidRangePartNumber-12] + _ = x[ErrInvalidCopyPartRange-13] + _ = x[ErrInvalidCopyPartRangeSource-14] + _ = x[ErrInvalidMaxKeys-15] + _ = x[ErrInvalidEncodingMethod-16] + _ = x[ErrInvalidMaxUploads-17] + _ = x[ErrInvalidMaxParts-18] + _ = x[ErrInvalidPartNumberMarker-19] + _ = x[ErrInvalidPartNumber-20] + _ = x[ErrInvalidRequestBody-21] + _ = x[ErrInvalidCopySource-22] + _ = x[ErrInvalidMetadataDirective-23] + _ = x[ErrInvalidCopyDest-24] + _ = x[ErrInvalidPolicyDocument-25] + _ = x[ErrInvalidObjectState-26] + _ = x[ErrMalformedXML-27] + _ = x[ErrMissingContentLength-28] + _ = x[ErrMissingContentMD5-29] + _ = x[ErrMissingRequestBodyError-30] + _ = x[ErrMissingSecurityHeader-31] + _ = x[ErrNoSuchBucket-32] + _ = x[ErrNoSuchBucketPolicy-33] + _ = x[ErrNoSuchBucketLifecycle-34] + _ = x[ErrNoSuchLifecycleConfiguration-35] + _ = x[ErrNoSuchBucketSSEConfig-36] + _ = x[ErrNoSuchCORSConfiguration-37] + _ = x[ErrNoSuchWebsiteConfiguration-38] + _ = x[ErrReplicationConfigurationNotFoundError-39] + _ = x[ErrRemoteDestinationNotFoundError-40] + _ = x[ErrReplicationDestinationMissingLock-41] + _ = x[ErrRemoteTargetNotFoundError-42] + _ = x[ErrReplicationRemoteConnectionError-43] + _ = x[ErrBucketRemoteIdenticalToSource-44] + _ = x[ErrBucketRemoteAlreadyExists-45] + _ = x[ErrBucketRemoteLabelInUse-46] + _ = x[ErrBucketRemoteArnTypeInvalid-47] + _ = x[ErrBucketRemoteArnInvalid-48] + _ = x[ErrBucketRemoteRemoveDisallowed-49] + _ = x[ErrRemoteTargetNotVersionedError-50] + _ = x[ErrReplicationSourceNotVersionedError-51] + _ = x[ErrReplicationNeedsVersioningError-52] + _ = x[ErrReplicationBucketNeedsVersioningError-53] + _ = x[ErrObjectRestoreAlreadyInProgress-54] + _ = x[ErrNoSuchKey-55] + _ = x[ErrNoSuchUpload-56] + _ = x[ErrInvalidVersionID-57] + _ = x[ErrNoSuchVersion-58] + _ = x[ErrNotImplemented-59] + _ = x[ErrPreconditionFailed-60] + _ = x[ErrRequestTimeTooSkewed-61] + _ = x[ErrSignatureDoesNotMatch-62] + _ = x[ErrMethodNotAllowed-63] + _ = x[ErrInvalidPart-64] + _ = x[ErrInvalidPartOrder-65] + _ = x[ErrAuthorizationHeaderMalformed-66] + _ = x[ErrMalformedPOSTRequest-67] + _ = x[ErrPOSTFileRequired-68] + _ = x[ErrSignatureVersionNotSupported-69] + _ = x[ErrBucketNotEmpty-70] + _ = x[ErrAllAccessDisabled-71] + _ = x[ErrMalformedPolicy-72] + _ = x[ErrMissingFields-73] + _ = x[ErrMissingCredTag-74] + _ = x[ErrCredMalformed-75] + _ = x[ErrInvalidRegion-76] + _ = x[ErrInvalidServiceS3-77] + _ = x[ErrInvalidServiceSTS-78] + _ = x[ErrInvalidRequestVersion-79] + _ = x[ErrMissingSignTag-80] + _ = x[ErrMissingSignHeadersTag-81] + _ = x[ErrMalformedDate-82] + _ = x[ErrMalformedPresignedDate-83] + _ = x[ErrMalformedCredentialDate-84] + _ = x[ErrMalformedCredentialRegion-85] + _ = x[ErrMalformedExpires-86] + _ = x[ErrNegativeExpires-87] + _ = x[ErrAuthHeaderEmpty-88] + _ = x[ErrExpiredPresignRequest-89] + _ = x[ErrRequestNotReadyYet-90] + _ = x[ErrUnsignedHeaders-91] + _ = x[ErrMissingDateHeader-92] + _ = x[ErrInvalidQuerySignatureAlgo-93] + _ = x[ErrInvalidQueryParams-94] + _ = x[ErrBucketAlreadyOwnedByYou-95] + _ = x[ErrInvalidDuration-96] + _ = x[ErrBucketAlreadyExists-97] + _ = x[ErrMetadataTooLarge-98] + _ = x[ErrUnsupportedMetadata-99] + _ = x[ErrMaximumExpires-100] + _ = x[ErrSlowDown-101] + _ = x[ErrInvalidPrefixMarker-102] + _ = x[ErrBadRequest-103] + _ = x[ErrKeyTooLongError-104] + _ = x[ErrInvalidBucketObjectLockConfiguration-105] + _ = x[ErrObjectLockConfigurationNotFound-106] + _ = x[ErrObjectLockConfigurationNotAllowed-107] + _ = x[ErrNoSuchObjectLockConfiguration-108] + _ = x[ErrObjectLocked-109] + _ = x[ErrInvalidRetentionDate-110] + _ = x[ErrPastObjectLockRetainDate-111] + _ = x[ErrUnknownWORMModeDirective-112] + _ = x[ErrBucketTaggingNotFound-113] + _ = x[ErrObjectLockInvalidHeaders-114] + _ = x[ErrInvalidTagDirective-115] + _ = x[ErrInvalidEncryptionMethod-116] + _ = x[ErrInsecureSSECustomerRequest-117] + _ = x[ErrSSEMultipartEncrypted-118] + _ = x[ErrSSEEncryptedObject-119] + _ = x[ErrInvalidEncryptionParameters-120] + _ = x[ErrInvalidSSECustomerAlgorithm-121] + _ = x[ErrInvalidSSECustomerKey-122] + _ = x[ErrMissingSSECustomerKey-123] + _ = x[ErrMissingSSECustomerKeyMD5-124] + _ = x[ErrSSECustomerKeyMD5Mismatch-125] + _ = x[ErrInvalidSSECustomerParameters-126] + _ = x[ErrIncompatibleEncryptionMethod-127] + _ = x[ErrKMSNotConfigured-128] + _ = x[ErrKMSAuthFailure-129] + _ = x[ErrNoAccessKey-130] + _ = x[ErrInvalidToken-131] + _ = x[ErrEventNotification-132] + _ = x[ErrARNNotification-133] + _ = x[ErrRegionNotification-134] + _ = x[ErrOverlappingFilterNotification-135] + _ = x[ErrFilterNameInvalid-136] + _ = x[ErrFilterNamePrefix-137] + _ = x[ErrFilterNameSuffix-138] + _ = x[ErrFilterValueInvalid-139] + _ = x[ErrOverlappingConfigs-140] + _ = x[ErrUnsupportedNotification-141] + _ = x[ErrContentSHA256Mismatch-142] + _ = x[ErrReadQuorum-143] + _ = x[ErrWriteQuorum-144] + _ = x[ErrParentIsObject-145] + _ = x[ErrStorageFull-146] + _ = x[ErrRequestBodyParse-147] + _ = x[ErrObjectExistsAsDirectory-148] + _ = x[ErrInvalidObjectName-149] + _ = x[ErrInvalidObjectNamePrefixSlash-150] + _ = x[ErrInvalidResourceName-151] + _ = x[ErrServerNotInitialized-152] + _ = x[ErrOperationTimedOut-153] + _ = x[ErrClientDisconnected-154] + _ = x[ErrOperationMaxedOut-155] + _ = x[ErrInvalidRequest-156] + _ = x[ErrInvalidStorageClass-157] + _ = x[ErrBackendDown-158] + _ = x[ErrMalformedJSON-159] + _ = x[ErrAdminNoSuchUser-160] + _ = x[ErrAdminNoSuchGroup-161] + _ = x[ErrAdminGroupNotEmpty-162] + _ = x[ErrAdminNoSuchPolicy-163] + _ = x[ErrAdminInvalidArgument-164] + _ = x[ErrAdminInvalidAccessKey-165] + _ = x[ErrAdminInvalidSecretKey-166] + _ = x[ErrAdminConfigNoQuorum-167] + _ = x[ErrAdminConfigTooLarge-168] + _ = x[ErrAdminConfigBadJSON-169] + _ = x[ErrAdminConfigDuplicateKeys-170] + _ = x[ErrAdminCredentialsMismatch-171] + _ = x[ErrInsecureClientRequest-172] + _ = x[ErrObjectTampered-173] + _ = x[ErrAdminBucketQuotaExceeded-174] + _ = x[ErrAdminNoSuchQuotaConfiguration-175] + _ = x[ErrHealNotImplemented-176] + _ = x[ErrHealNoSuchProcess-177] + _ = x[ErrHealInvalidClientToken-178] + _ = x[ErrHealMissingBucket-179] + _ = x[ErrHealAlreadyRunning-180] + _ = x[ErrHealOverlappingPaths-181] + _ = x[ErrIncorrectContinuationToken-182] + _ = x[ErrEmptyRequestBody-183] + _ = x[ErrUnsupportedFunction-184] + _ = x[ErrInvalidExpressionType-185] + _ = x[ErrBusy-186] + _ = x[ErrUnauthorizedAccess-187] + _ = x[ErrExpressionTooLong-188] + _ = x[ErrIllegalSQLFunctionArgument-189] + _ = x[ErrInvalidKeyPath-190] + _ = x[ErrInvalidCompressionFormat-191] + _ = x[ErrInvalidFileHeaderInfo-192] + _ = x[ErrInvalidJSONType-193] + _ = x[ErrInvalidQuoteFields-194] + _ = x[ErrInvalidRequestParameter-195] + _ = x[ErrInvalidDataType-196] + _ = x[ErrInvalidTextEncoding-197] + _ = x[ErrInvalidDataSource-198] + _ = x[ErrInvalidTableAlias-199] + _ = x[ErrMissingRequiredParameter-200] + _ = x[ErrObjectSerializationConflict-201] + _ = x[ErrUnsupportedSQLOperation-202] + _ = x[ErrUnsupportedSQLStructure-203] + _ = x[ErrUnsupportedSyntax-204] + _ = x[ErrUnsupportedRangeHeader-205] + _ = x[ErrLexerInvalidChar-206] + _ = x[ErrLexerInvalidOperator-207] + _ = x[ErrLexerInvalidLiteral-208] + _ = x[ErrLexerInvalidIONLiteral-209] + _ = x[ErrParseExpectedDatePart-210] + _ = x[ErrParseExpectedKeyword-211] + _ = x[ErrParseExpectedTokenType-212] + _ = x[ErrParseExpected2TokenTypes-213] + _ = x[ErrParseExpectedNumber-214] + _ = x[ErrParseExpectedRightParenBuiltinFunctionCall-215] + _ = x[ErrParseExpectedTypeName-216] + _ = x[ErrParseExpectedWhenClause-217] + _ = x[ErrParseUnsupportedToken-218] + _ = x[ErrParseUnsupportedLiteralsGroupBy-219] + _ = x[ErrParseExpectedMember-220] + _ = x[ErrParseUnsupportedSelect-221] + _ = x[ErrParseUnsupportedCase-222] + _ = x[ErrParseUnsupportedCaseClause-223] + _ = x[ErrParseUnsupportedAlias-224] + _ = x[ErrParseUnsupportedSyntax-225] + _ = x[ErrParseUnknownOperator-226] + _ = x[ErrParseMissingIdentAfterAt-227] + _ = x[ErrParseUnexpectedOperator-228] + _ = x[ErrParseUnexpectedTerm-229] + _ = x[ErrParseUnexpectedToken-230] + _ = x[ErrParseUnexpectedKeyword-231] + _ = x[ErrParseExpectedExpression-232] + _ = x[ErrParseExpectedLeftParenAfterCast-233] + _ = x[ErrParseExpectedLeftParenValueConstructor-234] + _ = x[ErrParseExpectedLeftParenBuiltinFunctionCall-235] + _ = x[ErrParseExpectedArgumentDelimiter-236] + _ = x[ErrParseCastArity-237] + _ = x[ErrParseInvalidTypeParam-238] + _ = x[ErrParseEmptySelect-239] + _ = x[ErrParseSelectMissingFrom-240] + _ = x[ErrParseExpectedIdentForGroupName-241] + _ = x[ErrParseExpectedIdentForAlias-242] + _ = x[ErrParseUnsupportedCallWithStar-243] + _ = x[ErrParseNonUnaryAgregateFunctionCall-244] + _ = x[ErrParseMalformedJoin-245] + _ = x[ErrParseExpectedIdentForAt-246] + _ = x[ErrParseAsteriskIsNotAloneInSelectList-247] + _ = x[ErrParseCannotMixSqbAndWildcardInSelectList-248] + _ = x[ErrParseInvalidContextForWildcardInSelectList-249] + _ = x[ErrIncorrectSQLFunctionArgumentType-250] + _ = x[ErrValueParseFailure-251] + _ = x[ErrEvaluatorInvalidArguments-252] + _ = x[ErrIntegerOverflow-253] + _ = x[ErrLikeInvalidInputs-254] + _ = x[ErrCastFailed-255] + _ = x[ErrInvalidCast-256] + _ = x[ErrEvaluatorInvalidTimestampFormatPattern-257] + _ = x[ErrEvaluatorInvalidTimestampFormatPatternSymbolForParsing-258] + _ = x[ErrEvaluatorTimestampFormatPatternDuplicateFields-259] + _ = x[ErrEvaluatorTimestampFormatPatternHourClockAmPmMismatch-260] + _ = x[ErrEvaluatorUnterminatedTimestampFormatPatternToken-261] + _ = x[ErrEvaluatorInvalidTimestampFormatPatternToken-262] + _ = x[ErrEvaluatorInvalidTimestampFormatPatternSymbol-263] + _ = x[ErrEvaluatorBindingDoesNotExist-264] + _ = x[ErrMissingHeaders-265] + _ = x[ErrInvalidColumnIndex-266] + _ = x[ErrAdminConfigNotificationTargetsFailed-267] + _ = x[ErrAdminProfilerNotEnabled-268] + _ = x[ErrInvalidDecompressedSize-269] + _ = x[ErrAddUserInvalidArgument-270] + _ = x[ErrAdminAccountNotEligible-271] + _ = x[ErrAccountNotEligible-272] + _ = x[ErrServiceAccountNotFound-273] + _ = x[ErrPostPolicyConditionInvalidFormat-274] } -const _APIErrorCode_name = "NoneAccessDeniedBadDigestEntityTooSmallEntityTooLargePolicyTooLargeIncompleteBodyInternalErrorInvalidAccessKeyIDInvalidBucketNameInvalidDigestInvalidRangeInvalidCopyPartRangeInvalidCopyPartRangeSourceInvalidMaxKeysInvalidEncodingMethodInvalidMaxUploadsInvalidMaxPartsInvalidPartNumberMarkerInvalidPartNumberInvalidRequestBodyInvalidCopySourceInvalidMetadataDirectiveInvalidCopyDestInvalidPolicyDocumentInvalidObjectStateMalformedXMLMissingContentLengthMissingContentMD5MissingRequestBodyErrorMissingSecurityHeaderNoSuchBucketNoSuchBucketPolicyNoSuchBucketLifecycleNoSuchLifecycleConfigurationNoSuchBucketSSEConfigNoSuchCORSConfigurationNoSuchWebsiteConfigurationReplicationConfigurationNotFoundErrorRemoteDestinationNotFoundErrorReplicationDestinationMissingLockRemoteTargetNotFoundErrorReplicationRemoteConnectionErrorBucketRemoteIdenticalToSourceBucketRemoteAlreadyExistsBucketRemoteLabelInUseBucketRemoteArnTypeInvalidBucketRemoteArnInvalidBucketRemoteRemoveDisallowedRemoteTargetNotVersionedErrorReplicationSourceNotVersionedErrorReplicationNeedsVersioningErrorReplicationBucketNeedsVersioningErrorObjectRestoreAlreadyInProgressNoSuchKeyNoSuchUploadInvalidVersionIDNoSuchVersionNotImplementedPreconditionFailedRequestTimeTooSkewedSignatureDoesNotMatchMethodNotAllowedInvalidPartInvalidPartOrderAuthorizationHeaderMalformedMalformedPOSTRequestPOSTFileRequiredSignatureVersionNotSupportedBucketNotEmptyAllAccessDisabledMalformedPolicyMissingFieldsMissingCredTagCredMalformedInvalidRegionInvalidServiceS3InvalidServiceSTSInvalidRequestVersionMissingSignTagMissingSignHeadersTagMalformedDateMalformedPresignedDateMalformedCredentialDateMalformedCredentialRegionMalformedExpiresNegativeExpiresAuthHeaderEmptyExpiredPresignRequestRequestNotReadyYetUnsignedHeadersMissingDateHeaderInvalidQuerySignatureAlgoInvalidQueryParamsBucketAlreadyOwnedByYouInvalidDurationBucketAlreadyExistsMetadataTooLargeUnsupportedMetadataMaximumExpiresSlowDownInvalidPrefixMarkerBadRequestKeyTooLongErrorInvalidBucketObjectLockConfigurationObjectLockConfigurationNotFoundObjectLockConfigurationNotAllowedNoSuchObjectLockConfigurationObjectLockedInvalidRetentionDatePastObjectLockRetainDateUnknownWORMModeDirectiveBucketTaggingNotFoundObjectLockInvalidHeadersInvalidTagDirectiveInvalidEncryptionMethodInsecureSSECustomerRequestSSEMultipartEncryptedSSEEncryptedObjectInvalidEncryptionParametersInvalidSSECustomerAlgorithmInvalidSSECustomerKeyMissingSSECustomerKeyMissingSSECustomerKeyMD5SSECustomerKeyMD5MismatchInvalidSSECustomerParametersIncompatibleEncryptionMethodKMSNotConfiguredKMSAuthFailureNoAccessKeyInvalidTokenEventNotificationARNNotificationRegionNotificationOverlappingFilterNotificationFilterNameInvalidFilterNamePrefixFilterNameSuffixFilterValueInvalidOverlappingConfigsUnsupportedNotificationContentSHA256MismatchReadQuorumWriteQuorumParentIsObjectStorageFullRequestBodyParseObjectExistsAsDirectoryInvalidObjectNameInvalidObjectNamePrefixSlashInvalidResourceNameServerNotInitializedOperationTimedOutClientDisconnectedOperationMaxedOutInvalidRequestInvalidStorageClassBackendDownMalformedJSONAdminNoSuchUserAdminNoSuchGroupAdminGroupNotEmptyAdminNoSuchPolicyAdminInvalidArgumentAdminInvalidAccessKeyAdminInvalidSecretKeyAdminConfigNoQuorumAdminConfigTooLargeAdminConfigBadJSONAdminConfigDuplicateKeysAdminCredentialsMismatchInsecureClientRequestObjectTamperedAdminBucketQuotaExceededAdminNoSuchQuotaConfigurationHealNotImplementedHealNoSuchProcessHealInvalidClientTokenHealMissingBucketHealAlreadyRunningHealOverlappingPathsIncorrectContinuationTokenEmptyRequestBodyUnsupportedFunctionInvalidExpressionTypeBusyUnauthorizedAccessExpressionTooLongIllegalSQLFunctionArgumentInvalidKeyPathInvalidCompressionFormatInvalidFileHeaderInfoInvalidJSONTypeInvalidQuoteFieldsInvalidRequestParameterInvalidDataTypeInvalidTextEncodingInvalidDataSourceInvalidTableAliasMissingRequiredParameterObjectSerializationConflictUnsupportedSQLOperationUnsupportedSQLStructureUnsupportedSyntaxUnsupportedRangeHeaderLexerInvalidCharLexerInvalidOperatorLexerInvalidLiteralLexerInvalidIONLiteralParseExpectedDatePartParseExpectedKeywordParseExpectedTokenTypeParseExpected2TokenTypesParseExpectedNumberParseExpectedRightParenBuiltinFunctionCallParseExpectedTypeNameParseExpectedWhenClauseParseUnsupportedTokenParseUnsupportedLiteralsGroupByParseExpectedMemberParseUnsupportedSelectParseUnsupportedCaseParseUnsupportedCaseClauseParseUnsupportedAliasParseUnsupportedSyntaxParseUnknownOperatorParseMissingIdentAfterAtParseUnexpectedOperatorParseUnexpectedTermParseUnexpectedTokenParseUnexpectedKeywordParseExpectedExpressionParseExpectedLeftParenAfterCastParseExpectedLeftParenValueConstructorParseExpectedLeftParenBuiltinFunctionCallParseExpectedArgumentDelimiterParseCastArityParseInvalidTypeParamParseEmptySelectParseSelectMissingFromParseExpectedIdentForGroupNameParseExpectedIdentForAliasParseUnsupportedCallWithStarParseNonUnaryAgregateFunctionCallParseMalformedJoinParseExpectedIdentForAtParseAsteriskIsNotAloneInSelectListParseCannotMixSqbAndWildcardInSelectListParseInvalidContextForWildcardInSelectListIncorrectSQLFunctionArgumentTypeValueParseFailureEvaluatorInvalidArgumentsIntegerOverflowLikeInvalidInputsCastFailedInvalidCastEvaluatorInvalidTimestampFormatPatternEvaluatorInvalidTimestampFormatPatternSymbolForParsingEvaluatorTimestampFormatPatternDuplicateFieldsEvaluatorTimestampFormatPatternHourClockAmPmMismatchEvaluatorUnterminatedTimestampFormatPatternTokenEvaluatorInvalidTimestampFormatPatternTokenEvaluatorInvalidTimestampFormatPatternSymbolEvaluatorBindingDoesNotExistMissingHeadersInvalidColumnIndexAdminConfigNotificationTargetsFailedAdminProfilerNotEnabledInvalidDecompressedSizeAddUserInvalidArgumentAdminAccountNotEligibleAccountNotEligibleServiceAccountNotFoundPostPolicyConditionInvalidFormat" +const _APIErrorCode_name = "NoneAccessDeniedBadDigestEntityTooSmallEntityTooLargePolicyTooLargeIncompleteBodyInternalErrorInvalidAccessKeyIDInvalidBucketNameInvalidDigestInvalidRangeInvalidRangePartNumberInvalidCopyPartRangeInvalidCopyPartRangeSourceInvalidMaxKeysInvalidEncodingMethodInvalidMaxUploadsInvalidMaxPartsInvalidPartNumberMarkerInvalidPartNumberInvalidRequestBodyInvalidCopySourceInvalidMetadataDirectiveInvalidCopyDestInvalidPolicyDocumentInvalidObjectStateMalformedXMLMissingContentLengthMissingContentMD5MissingRequestBodyErrorMissingSecurityHeaderNoSuchBucketNoSuchBucketPolicyNoSuchBucketLifecycleNoSuchLifecycleConfigurationNoSuchBucketSSEConfigNoSuchCORSConfigurationNoSuchWebsiteConfigurationReplicationConfigurationNotFoundErrorRemoteDestinationNotFoundErrorReplicationDestinationMissingLockRemoteTargetNotFoundErrorReplicationRemoteConnectionErrorBucketRemoteIdenticalToSourceBucketRemoteAlreadyExistsBucketRemoteLabelInUseBucketRemoteArnTypeInvalidBucketRemoteArnInvalidBucketRemoteRemoveDisallowedRemoteTargetNotVersionedErrorReplicationSourceNotVersionedErrorReplicationNeedsVersioningErrorReplicationBucketNeedsVersioningErrorObjectRestoreAlreadyInProgressNoSuchKeyNoSuchUploadInvalidVersionIDNoSuchVersionNotImplementedPreconditionFailedRequestTimeTooSkewedSignatureDoesNotMatchMethodNotAllowedInvalidPartInvalidPartOrderAuthorizationHeaderMalformedMalformedPOSTRequestPOSTFileRequiredSignatureVersionNotSupportedBucketNotEmptyAllAccessDisabledMalformedPolicyMissingFieldsMissingCredTagCredMalformedInvalidRegionInvalidServiceS3InvalidServiceSTSInvalidRequestVersionMissingSignTagMissingSignHeadersTagMalformedDateMalformedPresignedDateMalformedCredentialDateMalformedCredentialRegionMalformedExpiresNegativeExpiresAuthHeaderEmptyExpiredPresignRequestRequestNotReadyYetUnsignedHeadersMissingDateHeaderInvalidQuerySignatureAlgoInvalidQueryParamsBucketAlreadyOwnedByYouInvalidDurationBucketAlreadyExistsMetadataTooLargeUnsupportedMetadataMaximumExpiresSlowDownInvalidPrefixMarkerBadRequestKeyTooLongErrorInvalidBucketObjectLockConfigurationObjectLockConfigurationNotFoundObjectLockConfigurationNotAllowedNoSuchObjectLockConfigurationObjectLockedInvalidRetentionDatePastObjectLockRetainDateUnknownWORMModeDirectiveBucketTaggingNotFoundObjectLockInvalidHeadersInvalidTagDirectiveInvalidEncryptionMethodInsecureSSECustomerRequestSSEMultipartEncryptedSSEEncryptedObjectInvalidEncryptionParametersInvalidSSECustomerAlgorithmInvalidSSECustomerKeyMissingSSECustomerKeyMissingSSECustomerKeyMD5SSECustomerKeyMD5MismatchInvalidSSECustomerParametersIncompatibleEncryptionMethodKMSNotConfiguredKMSAuthFailureNoAccessKeyInvalidTokenEventNotificationARNNotificationRegionNotificationOverlappingFilterNotificationFilterNameInvalidFilterNamePrefixFilterNameSuffixFilterValueInvalidOverlappingConfigsUnsupportedNotificationContentSHA256MismatchReadQuorumWriteQuorumParentIsObjectStorageFullRequestBodyParseObjectExistsAsDirectoryInvalidObjectNameInvalidObjectNamePrefixSlashInvalidResourceNameServerNotInitializedOperationTimedOutClientDisconnectedOperationMaxedOutInvalidRequestInvalidStorageClassBackendDownMalformedJSONAdminNoSuchUserAdminNoSuchGroupAdminGroupNotEmptyAdminNoSuchPolicyAdminInvalidArgumentAdminInvalidAccessKeyAdminInvalidSecretKeyAdminConfigNoQuorumAdminConfigTooLargeAdminConfigBadJSONAdminConfigDuplicateKeysAdminCredentialsMismatchInsecureClientRequestObjectTamperedAdminBucketQuotaExceededAdminNoSuchQuotaConfigurationHealNotImplementedHealNoSuchProcessHealInvalidClientTokenHealMissingBucketHealAlreadyRunningHealOverlappingPathsIncorrectContinuationTokenEmptyRequestBodyUnsupportedFunctionInvalidExpressionTypeBusyUnauthorizedAccessExpressionTooLongIllegalSQLFunctionArgumentInvalidKeyPathInvalidCompressionFormatInvalidFileHeaderInfoInvalidJSONTypeInvalidQuoteFieldsInvalidRequestParameterInvalidDataTypeInvalidTextEncodingInvalidDataSourceInvalidTableAliasMissingRequiredParameterObjectSerializationConflictUnsupportedSQLOperationUnsupportedSQLStructureUnsupportedSyntaxUnsupportedRangeHeaderLexerInvalidCharLexerInvalidOperatorLexerInvalidLiteralLexerInvalidIONLiteralParseExpectedDatePartParseExpectedKeywordParseExpectedTokenTypeParseExpected2TokenTypesParseExpectedNumberParseExpectedRightParenBuiltinFunctionCallParseExpectedTypeNameParseExpectedWhenClauseParseUnsupportedTokenParseUnsupportedLiteralsGroupByParseExpectedMemberParseUnsupportedSelectParseUnsupportedCaseParseUnsupportedCaseClauseParseUnsupportedAliasParseUnsupportedSyntaxParseUnknownOperatorParseMissingIdentAfterAtParseUnexpectedOperatorParseUnexpectedTermParseUnexpectedTokenParseUnexpectedKeywordParseExpectedExpressionParseExpectedLeftParenAfterCastParseExpectedLeftParenValueConstructorParseExpectedLeftParenBuiltinFunctionCallParseExpectedArgumentDelimiterParseCastArityParseInvalidTypeParamParseEmptySelectParseSelectMissingFromParseExpectedIdentForGroupNameParseExpectedIdentForAliasParseUnsupportedCallWithStarParseNonUnaryAgregateFunctionCallParseMalformedJoinParseExpectedIdentForAtParseAsteriskIsNotAloneInSelectListParseCannotMixSqbAndWildcardInSelectListParseInvalidContextForWildcardInSelectListIncorrectSQLFunctionArgumentTypeValueParseFailureEvaluatorInvalidArgumentsIntegerOverflowLikeInvalidInputsCastFailedInvalidCastEvaluatorInvalidTimestampFormatPatternEvaluatorInvalidTimestampFormatPatternSymbolForParsingEvaluatorTimestampFormatPatternDuplicateFieldsEvaluatorTimestampFormatPatternHourClockAmPmMismatchEvaluatorUnterminatedTimestampFormatPatternTokenEvaluatorInvalidTimestampFormatPatternTokenEvaluatorInvalidTimestampFormatPatternSymbolEvaluatorBindingDoesNotExistMissingHeadersInvalidColumnIndexAdminConfigNotificationTargetsFailedAdminProfilerNotEnabledInvalidDecompressedSizeAddUserInvalidArgumentAdminAccountNotEligibleAccountNotEligibleServiceAccountNotFoundPostPolicyConditionInvalidFormat" -var _APIErrorCode_index = [...]uint16{0, 4, 16, 25, 39, 53, 67, 81, 94, 112, 129, 142, 154, 174, 200, 214, 235, 252, 267, 290, 307, 325, 342, 366, 381, 402, 420, 432, 452, 469, 492, 513, 525, 543, 564, 592, 613, 636, 662, 699, 729, 762, 787, 819, 848, 873, 895, 921, 943, 971, 1000, 1034, 1065, 1102, 1132, 1141, 1153, 1169, 1182, 1196, 1214, 1234, 1255, 1271, 1282, 1298, 1326, 1346, 1362, 1390, 1404, 1421, 1436, 1449, 1463, 1476, 1489, 1505, 1522, 1543, 1557, 1578, 1591, 1613, 1636, 1661, 1677, 1692, 1707, 1728, 1746, 1761, 1778, 1803, 1821, 1844, 1859, 1878, 1894, 1913, 1927, 1935, 1954, 1964, 1979, 2015, 2046, 2079, 2108, 2120, 2140, 2164, 2188, 2209, 2233, 2252, 2275, 2301, 2322, 2340, 2367, 2394, 2415, 2436, 2460, 2485, 2513, 2541, 2557, 2571, 2582, 2594, 2611, 2626, 2644, 2673, 2690, 2706, 2722, 2740, 2758, 2781, 2802, 2812, 2823, 2837, 2848, 2864, 2887, 2904, 2932, 2951, 2971, 2988, 3006, 3023, 3037, 3056, 3067, 3080, 3095, 3111, 3129, 3146, 3166, 3187, 3208, 3227, 3246, 3264, 3288, 3312, 3333, 3347, 3371, 3400, 3418, 3435, 3457, 3474, 3492, 3512, 3538, 3554, 3573, 3594, 3598, 3616, 3633, 3659, 3673, 3697, 3718, 3733, 3751, 3774, 3789, 3808, 3825, 3842, 3866, 3893, 3916, 3939, 3956, 3978, 3994, 4014, 4033, 4055, 4076, 4096, 4118, 4142, 4161, 4203, 4224, 4247, 4268, 4299, 4318, 4340, 4360, 4386, 4407, 4429, 4449, 4473, 4496, 4515, 4535, 4557, 4580, 4611, 4649, 4690, 4720, 4734, 4755, 4771, 4793, 4823, 4849, 4877, 4910, 4928, 4951, 4986, 5026, 5068, 5100, 5117, 5142, 5157, 5174, 5184, 5195, 5233, 5287, 5333, 5385, 5433, 5476, 5520, 5548, 5562, 5580, 5616, 5639, 5662, 5684, 5707, 5725, 5747, 5779} +var _APIErrorCode_index = [...]uint16{0, 4, 16, 25, 39, 53, 67, 81, 94, 112, 129, 142, 154, 176, 196, 222, 236, 257, 274, 289, 312, 329, 347, 364, 388, 403, 424, 442, 454, 474, 491, 514, 535, 547, 565, 586, 614, 635, 658, 684, 721, 751, 784, 809, 841, 870, 895, 917, 943, 965, 993, 1022, 1056, 1087, 1124, 1154, 1163, 1175, 1191, 1204, 1218, 1236, 1256, 1277, 1293, 1304, 1320, 1348, 1368, 1384, 1412, 1426, 1443, 1458, 1471, 1485, 1498, 1511, 1527, 1544, 1565, 1579, 1600, 1613, 1635, 1658, 1683, 1699, 1714, 1729, 1750, 1768, 1783, 1800, 1825, 1843, 1866, 1881, 1900, 1916, 1935, 1949, 1957, 1976, 1986, 2001, 2037, 2068, 2101, 2130, 2142, 2162, 2186, 2210, 2231, 2255, 2274, 2297, 2323, 2344, 2362, 2389, 2416, 2437, 2458, 2482, 2507, 2535, 2563, 2579, 2593, 2604, 2616, 2633, 2648, 2666, 2695, 2712, 2728, 2744, 2762, 2780, 2803, 2824, 2834, 2845, 2859, 2870, 2886, 2909, 2926, 2954, 2973, 2993, 3010, 3028, 3045, 3059, 3078, 3089, 3102, 3117, 3133, 3151, 3168, 3188, 3209, 3230, 3249, 3268, 3286, 3310, 3334, 3355, 3369, 3393, 3422, 3440, 3457, 3479, 3496, 3514, 3534, 3560, 3576, 3595, 3616, 3620, 3638, 3655, 3681, 3695, 3719, 3740, 3755, 3773, 3796, 3811, 3830, 3847, 3864, 3888, 3915, 3938, 3961, 3978, 4000, 4016, 4036, 4055, 4077, 4098, 4118, 4140, 4164, 4183, 4225, 4246, 4269, 4290, 4321, 4340, 4362, 4382, 4408, 4429, 4451, 4471, 4495, 4518, 4537, 4557, 4579, 4602, 4633, 4671, 4712, 4742, 4756, 4777, 4793, 4815, 4845, 4871, 4899, 4932, 4950, 4973, 5008, 5048, 5090, 5122, 5139, 5164, 5179, 5196, 5206, 5217, 5255, 5309, 5355, 5407, 5455, 5498, 5542, 5570, 5584, 5602, 5638, 5661, 5684, 5706, 5729, 5747, 5769, 5801} func (i APIErrorCode) String() string { if i < 0 || i >= APIErrorCode(len(_APIErrorCode_index)-1) { diff --git a/cmd/object-handlers.go b/cmd/object-handlers.go index 6b967d345..4fe7eac8c 100644 --- a/cmd/object-handlers.go +++ b/cmd/object-handlers.go @@ -400,7 +400,7 @@ func (api objectAPIHandlers) GetObjectHandler(w http.ResponseWriter, r *http.Req // Both 'bytes' and 'partNumber' cannot be specified at the same time if rs != nil && opts.PartNumber > 0 { - writeErrorResponseHeadersOnly(w, errorCodes.ToAPIErr(ErrBadRequest)) + writeErrorResponse(ctx, w, errorCodes.ToAPIErr(ErrInvalidRangePartNumber), r.URL, guessIsBrowserReq(r)) return } @@ -694,7 +694,7 @@ func (api objectAPIHandlers) HeadObjectHandler(w http.ResponseWriter, r *http.Re // Both 'bytes' and 'partNumber' cannot be specified at the same time if rs != nil && opts.PartNumber > 0 { - writeErrorResponseHeadersOnly(w, errorCodes.ToAPIErr(ErrBadRequest)) + writeErrorResponseHeadersOnly(w, errorCodes.ToAPIErr(ErrInvalidRangePartNumber)) return }