squash
This commit is contained in:
parent
b89f9a57e0
commit
e91b3d40a2
23
sanic/app.py
23
sanic/app.py
|
@ -14,6 +14,7 @@ from traceback import format_exc
|
|||
from typing import Any, Dict, Iterable, List, Optional, Set, Type, Union
|
||||
from urllib.parse import urlencode, urlunparse
|
||||
|
||||
from sanic_routing.exceptions import FinalizationError
|
||||
from sanic_routing.route import Route
|
||||
|
||||
from sanic import reloader_helpers
|
||||
|
@ -24,8 +25,6 @@ from sanic.blueprints import Blueprint
|
|||
from sanic.config import BASE_LOGO, Config
|
||||
from sanic.exceptions import (
|
||||
InvalidUsage,
|
||||
MethodNotSupported,
|
||||
NotFound,
|
||||
SanicException,
|
||||
ServerError,
|
||||
URLBuildError,
|
||||
|
@ -226,8 +225,6 @@ class Sanic(BaseSanic):
|
|||
return self.register_listener(listener.listener, listener.event)
|
||||
|
||||
def _apply_route(self, route: FutureRoute) -> Route:
|
||||
# TODO:
|
||||
# - move websocket handler out and attach it when applying
|
||||
params = route._asdict()
|
||||
websocket = params.pop("websocket", False)
|
||||
subprotocols = params.pop("subprotocols", None)
|
||||
|
@ -239,10 +236,8 @@ class Sanic(BaseSanic):
|
|||
route.handler,
|
||||
subprotocols=subprotocols,
|
||||
)
|
||||
websocket_handler.__name__ = (
|
||||
"websocket_handler_" + route.handler.__name__
|
||||
)
|
||||
websocket_handler.is_websocket = True
|
||||
websocket_handler.__name__ = route.handler.__name__ # type: ignore
|
||||
websocket_handler.is_websocket = True # type: ignore
|
||||
params["handler"] = websocket_handler
|
||||
return self.router.add(**params)
|
||||
|
||||
|
@ -304,7 +299,7 @@ class Sanic(BaseSanic):
|
|||
blueprint.register(self, options)
|
||||
|
||||
def url_for(self, view_name: str, **kwargs):
|
||||
r"""Build a URL based on a view name and the values provided.
|
||||
"""Build a URL based on a view name and the values provided.
|
||||
|
||||
In order to build a URL, all request parameters must be supplied as
|
||||
keyword arguments, and each parameter must pass the test for the
|
||||
|
@ -315,7 +310,7 @@ class Sanic(BaseSanic):
|
|||
the output URL's query string.
|
||||
|
||||
:param view_name: string referencing the view name
|
||||
:param \**kwargs: keys and values that are used to build request
|
||||
:param **kwargs: keys and values that are used to build request
|
||||
parameters and query string arguments.
|
||||
|
||||
:return: the built URL
|
||||
|
@ -519,11 +514,9 @@ class Sanic(BaseSanic):
|
|||
# Fetch handler from router
|
||||
(
|
||||
handler,
|
||||
args,
|
||||
kwargs,
|
||||
uri,
|
||||
name,
|
||||
endpoint,
|
||||
ignore_body,
|
||||
) = self.router.get(request)
|
||||
request.name = name
|
||||
|
@ -560,7 +553,7 @@ class Sanic(BaseSanic):
|
|||
request.endpoint = request.name
|
||||
|
||||
# Run response handler
|
||||
response = handler(request, *args, **kwargs)
|
||||
response = handler(request, **kwargs)
|
||||
if isawaitable(response):
|
||||
response = await response
|
||||
if response:
|
||||
|
@ -920,11 +913,9 @@ class Sanic(BaseSanic):
|
|||
):
|
||||
"""Helper function used by `run` and `create_server`."""
|
||||
|
||||
# TODO:
|
||||
# - Catch proper exception
|
||||
try:
|
||||
self.router.finalize()
|
||||
except Exception as e:
|
||||
except FinalizationError as e:
|
||||
if not Sanic.test_mode:
|
||||
raise e
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
from enum import Enum, auto
|
||||
from functools import partial
|
||||
from typing import Set
|
||||
|
||||
from sanic.models.futures import FutureException
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
from functools import partial
|
||||
from inspect import signature
|
||||
from pathlib import PurePath
|
||||
from typing import Set, Union
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from functools import lru_cache
|
||||
from typing import FrozenSet, Iterable, List, Optional, Union
|
||||
from typing import Iterable, List, Optional, Union
|
||||
|
||||
from sanic_routing import BaseRouter
|
||||
from sanic_routing.exceptions import NoMethod
|
||||
|
@ -44,17 +44,11 @@ class Router(BaseRouter):
|
|||
allowed_methods=e.allowed_methods,
|
||||
)
|
||||
|
||||
# TODO: Implement response
|
||||
# - args,
|
||||
# - endpoint,
|
||||
|
||||
return (
|
||||
handler,
|
||||
(),
|
||||
params,
|
||||
route.path,
|
||||
route.name,
|
||||
None,
|
||||
route.ctx.ignore_body,
|
||||
)
|
||||
|
||||
|
@ -79,7 +73,7 @@ class Router(BaseRouter):
|
|||
uri: str,
|
||||
methods: Iterable[str],
|
||||
handler,
|
||||
host: Optional[Union[str, FrozenSet[str]]] = None,
|
||||
host: Optional[Union[str, Iterable[str]]] = None,
|
||||
strict_slashes: bool = False,
|
||||
stream: bool = False,
|
||||
ignore_body: bool = False,
|
||||
|
@ -115,11 +109,6 @@ class Router(BaseRouter):
|
|||
:return: the route object
|
||||
:rtype: Route
|
||||
"""
|
||||
# TODO: Implement
|
||||
# - host
|
||||
# - strict_slashes
|
||||
# - ignore_body
|
||||
# - stream
|
||||
if version is not None:
|
||||
version = str(version).strip("/").lstrip("v")
|
||||
uri = "/".join([f"/v{version}", uri.lstrip("/")])
|
||||
|
@ -136,7 +125,7 @@ class Router(BaseRouter):
|
|||
if isinstance(host, str):
|
||||
hosts = [host]
|
||||
else:
|
||||
hosts = host or [None]
|
||||
hosts = host or [None] # type: ignore
|
||||
|
||||
routes = []
|
||||
|
||||
|
@ -185,10 +174,6 @@ class Router(BaseRouter):
|
|||
if not view_name:
|
||||
return None
|
||||
|
||||
# TODO:
|
||||
# - Check blueprint naming, we shouldn't need to double check here
|
||||
# but it seems like blueprints are not receiving full names
|
||||
# probably need tocheck the blueprint registration func
|
||||
route = self.name_index.get(view_name)
|
||||
if not route:
|
||||
full_name = self.ctx.app._generate_name(view_name)
|
||||
|
|
|
@ -5,7 +5,6 @@ import secrets
|
|||
import socket
|
||||
import stat
|
||||
import sys
|
||||
import time
|
||||
|
||||
from asyncio import CancelledError
|
||||
from functools import partial
|
||||
|
|
|
@ -6,8 +6,6 @@ from re import sub
|
|||
from time import gmtime, strftime
|
||||
from urllib.parse import unquote
|
||||
|
||||
from sanic_routing.patterns import REGEX_TYPES
|
||||
|
||||
from sanic.compat import stat_async
|
||||
from sanic.exceptions import (
|
||||
ContentRangeError,
|
||||
|
|
Loading…
Reference in New Issue
Block a user