diff --git a/cmd/gateway-anonymous.go b/cmd/gateway-anonymous.go new file mode 100644 index 000000000..fd940fd94 --- /dev/null +++ b/cmd/gateway-anonymous.go @@ -0,0 +1,49 @@ +/* + * Minio Cloud Storage, (C) 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 cmd + +import "net/http" + +func anonErrToObjectErr(statusCode int, params ...string) error { + bucket := "" + object := "" + if len(params) >= 1 { + bucket = params[0] + } + if len(params) == 2 { + object = params[1] + } + + switch statusCode { + case http.StatusNotFound: + if object != "" { + return ObjectNotFound{bucket, object} + } + return BucketNotFound{Bucket: bucket} + case http.StatusBadRequest: + if object != "" { + return ObjectNameInvalid{bucket, object} + } + return BucketNameInvalid{Bucket: bucket} + case http.StatusForbidden: + fallthrough + case http.StatusUnauthorized: + return AllAccessDisabled{bucket, object} + } + + return errUnexpected +} diff --git a/cmd/gateway-azure.go b/cmd/gateway-azure.go index 16f762f52..2a4640af7 100644 --- a/cmd/gateway-azure.go +++ b/cmd/gateway-azure.go @@ -618,31 +618,6 @@ func (a *azureObjects) CompleteMultipartUpload(bucket, object, uploadID string, return a.GetObjectInfo(bucket, object) } -func anonErrToObjectErr(statusCode int, params ...string) error { - bucket := "" - object := "" - if len(params) >= 1 { - bucket = params[0] - } - if len(params) == 2 { - object = params[1] - } - - switch statusCode { - case http.StatusNotFound: - if object != "" { - return ObjectNotFound{bucket, object} - } - return BucketNotFound{Bucket: bucket} - case http.StatusBadRequest: - if object != "" { - return ObjectNameInvalid{bucket, object} - } - return BucketNameInvalid{Bucket: bucket} - } - return errUnexpected -} - // Copied from github.com/Azure/azure-sdk-for-go/storage/blob.go func azureListBlobsGetParameters(p storage.ListBlobsParameters) url.Values { out := url.Values{}