* assign app before handle_request so that request.app could be used in case of connection timeout * gitignore pip-wheel-metadata/ * remove default app for request class and fix lint issue
This commit is contained in:
parent
d58151a0eb
commit
53f45810ff
3
.gitignore
vendored
3
.gitignore
vendored
@ -15,4 +15,5 @@ docs/_build/
|
|||||||
docs/_api/
|
docs/_api/
|
||||||
build/*
|
build/*
|
||||||
.DS_Store
|
.DS_Store
|
||||||
dist/*
|
dist/*
|
||||||
|
pip-wheel-metadata/
|
||||||
|
@ -881,8 +881,6 @@ class Sanic:
|
|||||||
# -------------------------------------------- #
|
# -------------------------------------------- #
|
||||||
# Request Middleware
|
# Request Middleware
|
||||||
# -------------------------------------------- #
|
# -------------------------------------------- #
|
||||||
|
|
||||||
request.app = self
|
|
||||||
response = await self._run_request_middleware(request)
|
response = await self._run_request_middleware(request)
|
||||||
# No middleware results
|
# No middleware results
|
||||||
if not response:
|
if not response:
|
||||||
@ -1288,6 +1286,7 @@ class Sanic:
|
|||||||
"port": port,
|
"port": port,
|
||||||
"sock": sock,
|
"sock": sock,
|
||||||
"ssl": ssl,
|
"ssl": ssl,
|
||||||
|
"app": self,
|
||||||
"signal": Signal(),
|
"signal": Signal(),
|
||||||
"debug": debug,
|
"debug": debug,
|
||||||
"request_handler": self.handle_request,
|
"request_handler": self.handle_request,
|
||||||
|
@ -95,11 +95,11 @@ class Request(dict):
|
|||||||
"version",
|
"version",
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(self, url_bytes, headers, version, method, transport):
|
def __init__(self, url_bytes, headers, version, method, transport, app):
|
||||||
self.raw_url = url_bytes
|
self.raw_url = url_bytes
|
||||||
# TODO: Content-Encoding detection
|
# TODO: Content-Encoding detection
|
||||||
self._parsed_url = parse_url(url_bytes)
|
self._parsed_url = parse_url(url_bytes)
|
||||||
self.app = None
|
self.app = app
|
||||||
|
|
||||||
self.headers = headers
|
self.headers = headers
|
||||||
self.version = version
|
self.version = version
|
||||||
|
@ -44,6 +44,8 @@ class HttpProtocol(asyncio.Protocol):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
__slots__ = (
|
__slots__ = (
|
||||||
|
# app
|
||||||
|
"app",
|
||||||
# event loop, connection
|
# event loop, connection
|
||||||
"loop",
|
"loop",
|
||||||
"transport",
|
"transport",
|
||||||
@ -88,6 +90,7 @@ class HttpProtocol(asyncio.Protocol):
|
|||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
loop,
|
loop,
|
||||||
|
app,
|
||||||
request_handler,
|
request_handler,
|
||||||
error_handler,
|
error_handler,
|
||||||
signal=Signal(),
|
signal=Signal(),
|
||||||
@ -107,6 +110,7 @@ class HttpProtocol(asyncio.Protocol):
|
|||||||
**kwargs
|
**kwargs
|
||||||
):
|
):
|
||||||
self.loop = loop
|
self.loop = loop
|
||||||
|
self.app = app
|
||||||
self.transport = None
|
self.transport = None
|
||||||
self.request = None
|
self.request = None
|
||||||
self.parser = None
|
self.parser = None
|
||||||
@ -303,6 +307,7 @@ class HttpProtocol(asyncio.Protocol):
|
|||||||
version=self.parser.get_http_version(),
|
version=self.parser.get_http_version(),
|
||||||
method=self.parser.get_method().decode(),
|
method=self.parser.get_method().decode(),
|
||||||
transport=self.transport,
|
transport=self.transport,
|
||||||
|
app=self.app,
|
||||||
)
|
)
|
||||||
# Remove any existing KeepAlive handler here,
|
# Remove any existing KeepAlive handler here,
|
||||||
# It will be recreated if required on the new request.
|
# It will be recreated if required on the new request.
|
||||||
@ -607,6 +612,7 @@ def trigger_events(events, loop):
|
|||||||
def serve(
|
def serve(
|
||||||
host,
|
host,
|
||||||
port,
|
port,
|
||||||
|
app,
|
||||||
request_handler,
|
request_handler,
|
||||||
error_handler,
|
error_handler,
|
||||||
before_start=None,
|
before_start=None,
|
||||||
@ -704,6 +710,7 @@ def serve(
|
|||||||
loop=loop,
|
loop=loop,
|
||||||
connections=connections,
|
connections=connections,
|
||||||
signal=signal,
|
signal=signal,
|
||||||
|
app=app,
|
||||||
request_handler=request_handler,
|
request_handler=request_handler,
|
||||||
error_handler=error_handler,
|
error_handler=error_handler,
|
||||||
request_timeout=request_timeout,
|
request_timeout=request_timeout,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user