mirror of
https://github.com/minio/minio.git
synced 2025-04-23 03:45:49 -04:00
Added specific error for InvalidObjectName (#2157)
This commit is contained in:
parent
ae80f8ca35
commit
bc8720406d
@ -115,6 +115,7 @@ const (
|
|||||||
ErrStorageFull
|
ErrStorageFull
|
||||||
ErrObjectExistsAsDirectory
|
ErrObjectExistsAsDirectory
|
||||||
ErrPolicyNesting
|
ErrPolicyNesting
|
||||||
|
ErrInvalidObjectName
|
||||||
// Add new extended error codes here.
|
// Add new extended error codes here.
|
||||||
// Please open a https://github.com/minio/minio/issues before adding
|
// Please open a https://github.com/minio/minio/issues before adding
|
||||||
// new error codes here.
|
// new error codes here.
|
||||||
@ -442,6 +443,11 @@ var errorCodeResponse = map[APIErrorCode]APIError{
|
|||||||
Description: "Policy nesting conflict has occurred.",
|
Description: "Policy nesting conflict has occurred.",
|
||||||
HTTPStatusCode: http.StatusConflict,
|
HTTPStatusCode: http.StatusConflict,
|
||||||
},
|
},
|
||||||
|
ErrInvalidObjectName: {
|
||||||
|
Code: "XMinioInvalidObjectName",
|
||||||
|
Description: "Object name contains unsupported characters. Unsupported characters are `^*|\\\"",
|
||||||
|
HTTPStatusCode: http.StatusBadRequest,
|
||||||
|
},
|
||||||
// Add your error structure here.
|
// Add your error structure here.
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -483,7 +489,7 @@ func toAPIErrorCode(err error) (apiErr APIErrorCode) {
|
|||||||
case ObjectNotFound:
|
case ObjectNotFound:
|
||||||
apiErr = ErrNoSuchKey
|
apiErr = ErrNoSuchKey
|
||||||
case ObjectNameInvalid:
|
case ObjectNameInvalid:
|
||||||
apiErr = ErrNotImplemented
|
apiErr = ErrInvalidObjectName
|
||||||
case InvalidUploadID:
|
case InvalidUploadID:
|
||||||
apiErr = ErrNoSuchUpload
|
apiErr = ErrNoSuchUpload
|
||||||
case InvalidPart:
|
case InvalidPart:
|
||||||
|
@ -878,7 +878,7 @@ func (s *TestSuiteCommon) TestPutObjectLongName(c *C) {
|
|||||||
|
|
||||||
response, err = client.Do(request)
|
response, err = client.Do(request)
|
||||||
c.Assert(err, IsNil)
|
c.Assert(err, IsNil)
|
||||||
verifyError(c, response, "NotImplemented", "A header you provided implies functionality that is not implemented", http.StatusNotImplemented)
|
verifyError(c, response, "XMinioInvalidObjectName", "Object name contains unsupported characters. Unsupported characters are `^*|\\\"", http.StatusBadRequest)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestNotBeAbleToCreateObjectInNonexistentBucket - Validates the error response
|
// TestNotBeAbleToCreateObjectInNonexistentBucket - Validates the error response
|
||||||
|
@ -364,7 +364,7 @@ type EOFWriter struct {
|
|||||||
n int64
|
n int64
|
||||||
}
|
}
|
||||||
|
|
||||||
// io.Writer implementation desgined to error out with io.EOF after reading `n` bytes.
|
// io.Writer implementation designed to error out with io.EOF after reading `n` bytes.
|
||||||
func (t *EOFWriter) Write(p []byte) (n int, err error) {
|
func (t *EOFWriter) Write(p []byte) (n int, err error) {
|
||||||
if t.n <= 0 {
|
if t.n <= 0 {
|
||||||
return -1, io.EOF
|
return -1, io.EOF
|
||||||
|
@ -24,13 +24,13 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// Returns nil even if one of the slice elements is nil.
|
// Returns nil even if one of the slice elements is nil.
|
||||||
// Else returns the error which occours the most.
|
// Else returns the error which occurs the most.
|
||||||
func reduceErrs(errs []error) error {
|
func reduceErrs(errs []error) error {
|
||||||
// In case the error type is not in the known error list.
|
// In case the error type is not in the known error list.
|
||||||
var unknownErr = errors.New("unknown error")
|
var unknownErr = errors.New("unknown error")
|
||||||
var errTypes = []struct {
|
var errTypes = []struct {
|
||||||
err error // error type
|
err error // error type
|
||||||
count int // occurance count
|
count int // occurrence count
|
||||||
}{
|
}{
|
||||||
// List of known error types. Any new type that can be returned from StorageAPI should
|
// List of known error types. Any new type that can be returned from StorageAPI should
|
||||||
// be added to this list. Most common errors are listed here.
|
// be added to this list. Most common errors are listed here.
|
||||||
@ -40,7 +40,7 @@ func reduceErrs(errs []error) error {
|
|||||||
// unknownErr count - count of the number of unknown errors.
|
// unknownErr count - count of the number of unknown errors.
|
||||||
{unknownErr, 0},
|
{unknownErr, 0},
|
||||||
}
|
}
|
||||||
// In case unknownErr count occours maximum number of times, unknownErrType is used to
|
// In case unknownErr count occurs maximum number of times, unknownErrType is used to
|
||||||
// to store it so that it can be used for the return error type.
|
// to store it so that it can be used for the return error type.
|
||||||
var unknownErrType error
|
var unknownErrType error
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user