summaryrefslogtreecommitdiff
path: root/swift/common/middleware/s3api/s3request.py
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2019-08-06 11:11:52 -0700
committerTim Burke <tim.burke@gmail.com>2019-08-06 14:52:54 -0700
commit7bb7da6d2dc4267f8279170b6d326e81777d3c06 (patch)
tree61cfe3390850e0c0190dab2fef2b288f08c69566 /swift/common/middleware/s3api/s3request.py
parent489a35db825f58a204471ea9da9b9c61ca6cfa4c (diff)
downloadswift-7bb7da6d2dc4267f8279170b6d326e81777d3c06.tar.gz
s3api: Translate 503 to S3-style 503s
...instead of logging tracebacks about unexpected status codes. Change-Id: Iadb0a40092b8347eb5c04785cc14d1324cc9396f
Diffstat (limited to 'swift/common/middleware/s3api/s3request.py')
-rw-r--r--swift/common/middleware/s3api/s3request.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/swift/common/middleware/s3api/s3request.py b/swift/common/middleware/s3api/s3request.py
index 1caca1f34..3c9542eb9 100644
--- a/swift/common/middleware/s3api/s3request.py
+++ b/swift/common/middleware/s3api/s3request.py
@@ -33,7 +33,8 @@ from swift.common.http import HTTP_OK, HTTP_CREATED, HTTP_ACCEPTED, \
HTTP_CONFLICT, HTTP_UNPROCESSABLE_ENTITY, HTTP_REQUEST_ENTITY_TOO_LARGE, \
HTTP_PARTIAL_CONTENT, HTTP_NOT_MODIFIED, HTTP_PRECONDITION_FAILED, \
HTTP_REQUESTED_RANGE_NOT_SATISFIABLE, HTTP_LENGTH_REQUIRED, \
- HTTP_BAD_REQUEST, HTTP_REQUEST_TIMEOUT, is_success
+ HTTP_BAD_REQUEST, HTTP_REQUEST_TIMEOUT, HTTP_SERVICE_UNAVAILABLE, \
+ is_success
from swift.common.constraints import check_utf8
from swift.proxy.controllers.base import get_container_info, \
@@ -52,7 +53,8 @@ from swift.common.middleware.s3api.s3response import AccessDenied, \
InternalError, NoSuchBucket, NoSuchKey, PreconditionFailed, InvalidRange, \
MissingContentLength, InvalidStorageClass, S3NotImplemented, InvalidURI, \
MalformedXML, InvalidRequest, RequestTimeout, InvalidBucketName, \
- BadDigest, AuthorizationHeaderMalformed, AuthorizationQueryParametersError
+ BadDigest, AuthorizationHeaderMalformed, \
+ AuthorizationQueryParametersError, ServiceUnavailable
from swift.common.middleware.s3api.exception import NotS3Request, \
BadSwiftRequest
from swift.common.middleware.s3api.utils import utf8encode, \
@@ -1369,6 +1371,8 @@ class S3Request(swob.Request):
**self.signature_does_not_match_kwargs())
if status == HTTP_FORBIDDEN:
raise AccessDenied()
+ if status == HTTP_SERVICE_UNAVAILABLE:
+ raise ServiceUnavailable()
raise InternalError('unexpected status code %d' % status)