diff options
author | Tim Burke <tim.burke@gmail.com> | 2019-08-06 11:11:52 -0700 |
---|---|---|
committer | Tim Burke <tim.burke@gmail.com> | 2019-08-06 14:52:54 -0700 |
commit | 7bb7da6d2dc4267f8279170b6d326e81777d3c06 (patch) | |
tree | 61cfe3390850e0c0190dab2fef2b288f08c69566 /swift/common/middleware/s3api/s3request.py | |
parent | 489a35db825f58a204471ea9da9b9c61ca6cfa4c (diff) | |
download | swift-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.py | 8 |
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) |