Minor speed improvements

This commit is contained in:
Channel Cat 2016-10-14 03:57:48 -07:00
parent 62c1235f58
commit ec10d24ac6
2 changed files with 7 additions and 8 deletions

View File

@ -97,21 +97,21 @@ class Sanic:
"""
try:
# Middleware process_request
response = None
response = False
# The if improves speed. I don't know why
if self.request_middleware:
for middleware in self.request_middleware:
response = middleware(request)
if isawaitable(response):
response = await response
if response is not None:
if response:
break
# No middleware results
if response is None:
if not response:
# Fetch handler from router
handler, args, kwargs = self.router.get(request)
if handler is None:
if not handler:
raise ServerError("'None' was returned while requesting a handler from the router")
# Run response handler
@ -125,7 +125,7 @@ class Sanic:
_response = middleware(request, response)
if isawaitable(_response):
_response = await _response
if _response is not None:
if _response:
response = _response
break

View File

@ -25,7 +25,7 @@ class HttpProtocol(asyncio.Protocol):
self.loop = loop
self.transport = None
self.request = None
self.parser = None
self.parser = False
self.url = None
self.headers = None
self.signal = signal
@ -64,8 +64,7 @@ class HttpProtocol(asyncio.Protocol):
return self.bail_out("Request too large ({}), connection closed".format(self._total_request_size))
# Create parser if this is the first time we're receiving data
if self.parser is None:
assert self.request is None
if not self.parser:
self.headers = []
self.parser = httptools.HttpRequestParser(self)