Only limit content length with internal server
This commit is contained in:
parent
6b281e1726
commit
59d10ef9f7
@ -93,7 +93,7 @@ DAV_HEADERS = "1, 2, 3, calendar-access, addressbook, extended-mkcol"
|
||||
class Application:
|
||||
"""WSGI application managing collections."""
|
||||
|
||||
def __init__(self, configuration):
|
||||
def __init__(self, configuration, internal_server=False):
|
||||
"""Initialize application."""
|
||||
super().__init__()
|
||||
self.configuration = configuration
|
||||
@ -102,6 +102,7 @@ class Application:
|
||||
self.Rights = rights.load(configuration)
|
||||
self.Web = web.load(configuration)
|
||||
self.encoding = configuration.get("encoding", "request")
|
||||
self.internal_server = internal_server
|
||||
|
||||
def headers_log(self, environ):
|
||||
"""Sanitize headers for logging."""
|
||||
@ -334,7 +335,7 @@ class Application:
|
||||
|
||||
# Verify content length
|
||||
content_length = int(environ.get("CONTENT_LENGTH") or 0)
|
||||
if content_length:
|
||||
if self.internal_server and content_length:
|
||||
max_content_length = self.configuration.getint(
|
||||
"server", "max_content_length")
|
||||
if max_content_length and content_length > max_content_length:
|
||||
|
@ -236,7 +236,7 @@ def serve(configuration):
|
||||
except ValueError as e:
|
||||
raise RuntimeError(
|
||||
"Failed to parse address %r: %s" % (host, e)) from e
|
||||
application = Application(configuration)
|
||||
application = Application(configuration, internal_server=True)
|
||||
try:
|
||||
server = wsgiref.simple_server.make_server(
|
||||
address, port, application, server_class, RequestHandler)
|
||||
|
Loading…
Reference in New Issue
Block a user