Merge "More details when logging 413 Entity Too Large"

This commit is contained in:
Zuul 2019-07-16 17:18:44 +00:00 committed by Gerrit Code Review
commit 9bae80ec02
2 changed files with 13 additions and 3 deletions

View File

@ -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)

View File

@ -0,0 +1,4 @@
---
other:
- |
Log when max_request_body_size is exceeded.