Merge "More details when logging 413 Entity Too Large"
This commit is contained in:
commit
9bae80ec02
|
@ -17,6 +17,8 @@ Request Body limiting middleware.
|
|||
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
from oslo_config import cfg
|
||||
import webob.dec
|
||||
import webob.exc
|
||||
|
@ -24,6 +26,8 @@ import webob.exc
|
|||
from oslo_middleware._i18n import _
|
||||
from oslo_middleware import base
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
_oldopts = [cfg.DeprecatedOpt('osapi_max_request_body_size',
|
||||
group='DEFAULT'),
|
||||
|
@ -56,7 +60,7 @@ class LimitingReader(object):
|
|||
for chunk in self.data:
|
||||
self.bytes_read += len(chunk)
|
||||
if self.bytes_read > self.limit:
|
||||
msg = _("Request is too large.")
|
||||
msg = _("Request is too large. Larger than %s") % self.limit
|
||||
raise webob.exc.HTTPRequestEntityTooLarge(explanation=msg)
|
||||
else:
|
||||
yield chunk
|
||||
|
@ -70,7 +74,7 @@ class LimitingReader(object):
|
|||
result = self.data.read(i)
|
||||
self.bytes_read += len(result)
|
||||
if self.bytes_read > self.limit:
|
||||
msg = _("Request is too large.")
|
||||
msg = _("Request is too large. Larger than %s.") % self.limit
|
||||
raise webob.exc.HTTPRequestEntityTooLarge(explanation=msg)
|
||||
return result
|
||||
|
||||
|
@ -87,7 +91,9 @@ class RequestBodySizeLimiter(base.ConfigurableMiddleware):
|
|||
max_size = self._conf_get('max_request_body_size')
|
||||
if (req.content_length is not None and
|
||||
req.content_length > max_size):
|
||||
msg = _("Request is too large.")
|
||||
msg = _("Request is too large. "
|
||||
"Larger than max_request_body_size (%s).") % max_size
|
||||
LOG.info(msg)
|
||||
raise webob.exc.HTTPRequestEntityTooLarge(explanation=msg)
|
||||
if req.content_length is None:
|
||||
limiter = LimitingReader(req.body_file, max_size)
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
other:
|
||||
- |
|
||||
Log when max_request_body_size is exceeded.
|
Loading…
Reference in New Issue