mirror of
https://github.com/versity/versitygw.git
synced 2026-01-06 19:56:27 +00:00
Issue 154 (#169)
* fix: Fixes #154, Changed GetObject range error to InvalidRange
This commit is contained in:
@@ -56,7 +56,7 @@ func GetTimePtr(t time.Time) *time.Time {
|
||||
}
|
||||
|
||||
var (
|
||||
errInvalidRange = s3err.GetAPIError(s3err.ErrInvalidRequest)
|
||||
errInvalidRange = s3err.GetAPIError(s3err.ErrInvalidRange)
|
||||
)
|
||||
|
||||
// ParseRange parses input range header and returns startoffset, length, and
|
||||
|
||||
@@ -1031,6 +1031,20 @@ func TestRangeGet(s *S3Conf) {
|
||||
return
|
||||
}
|
||||
|
||||
// Invalid range
|
||||
invRange := "bytes=100-asd"
|
||||
ctx, cancel = context.WithTimeout(context.Background(), shortTimeout)
|
||||
_, err = s3client.GetObject(ctx, &s3.GetObjectInput{
|
||||
Bucket: &bucket,
|
||||
Key: &name,
|
||||
Range: &invRange,
|
||||
})
|
||||
defer cancel()
|
||||
if err == nil {
|
||||
failF("%v: expected range error", testname)
|
||||
return
|
||||
}
|
||||
|
||||
rangeString := "bytes=100-200"
|
||||
|
||||
ctx, cancel = context.WithTimeout(context.Background(), shortTimeout)
|
||||
|
||||
@@ -106,7 +106,9 @@ const (
|
||||
ErrNotImplemented
|
||||
ErrPreconditionFailed
|
||||
ErrInvalidObjectState
|
||||
ErrInvalidRange
|
||||
|
||||
// Non-AWS errors
|
||||
ErrExistingObjectIsDirectory
|
||||
ErrObjectParentIsFile
|
||||
)
|
||||
@@ -374,6 +376,11 @@ var errorCodeResponse = map[ErrorCode]APIError{
|
||||
Description: "The operation is not valid for the current state of the object",
|
||||
HTTPStatusCode: http.StatusForbidden,
|
||||
},
|
||||
ErrInvalidRange: {
|
||||
Code: "InvalidRange",
|
||||
Description: "The requested range is not valid for the request. Try another range.",
|
||||
HTTPStatusCode: http.StatusRequestedRangeNotSatisfiable,
|
||||
},
|
||||
ErrExistingObjectIsDirectory: {
|
||||
Code: "ExistingObjectIsDirectory",
|
||||
Description: "Existing Object is a directory.",
|
||||
|
||||
Reference in New Issue
Block a user