summaryrefslogtreecommitdiff
path: root/swift/common/middleware/s3api/s3request.py
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2020-05-18 19:36:25 -0700
committerTim Burke <tim.burke@gmail.com>2021-03-17 10:58:58 -0700
commite35365df512bade4ff03360e2f2c69ffc4b326be (patch)
tree0c028cea19d18715fb1555e16445c67b21c4d034 /swift/common/middleware/s3api/s3request.py
parentc6a64036651e18f3d7d0715c5d4876257aaa0e6f (diff)
downloadswift-e35365df512bade4ff03360e2f2c69ffc4b326be.tar.gz
s3api: Add config option to return 429s on ratelimit
Change-Id: If04c083ccc9f63696b1f53ac13edc932740a0654
Diffstat (limited to 'swift/common/middleware/s3api/s3request.py')
-rw-r--r--swift/common/middleware/s3api/s3request.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/swift/common/middleware/s3api/s3request.py b/swift/common/middleware/s3api/s3request.py
index 1f411dbc7..0dad14d0d 100644
--- a/swift/common/middleware/s3api/s3request.py
+++ b/swift/common/middleware/s3api/s3request.py
@@ -1400,6 +1400,8 @@ class S3Request(swob.Request):
if status == HTTP_SERVICE_UNAVAILABLE:
raise ServiceUnavailable()
if status in (HTTP_RATE_LIMITED, HTTP_TOO_MANY_REQUESTS):
+ if self.conf.ratelimit_as_client_error:
+ raise SlowDown(status='429 Slow Down')
raise SlowDown()
raise InternalError('unexpected status code %d' % status)