Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2c0eed24d | ||
|
|
3abe4f885e | ||
|
|
f4c8252185 |
@@ -1 +1 @@
|
|||||||
__version__ = "22.6.1"
|
__version__ = "22.6.2"
|
||||||
|
|||||||
@@ -1315,7 +1315,7 @@ class Sanic(BaseSanic, RunnerMixin, metaclass=TouchUpMeta):
|
|||||||
self.config.update_config(config)
|
self.config.update_config(config)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def asgi(self):
|
def asgi(self) -> bool:
|
||||||
return self.state.asgi
|
return self.state.asgi
|
||||||
|
|
||||||
@asgi.setter
|
@asgi.setter
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ else:
|
|||||||
|
|
||||||
class RunnerMixin(metaclass=SanicMeta):
|
class RunnerMixin(metaclass=SanicMeta):
|
||||||
_app_registry: Dict[str, Sanic]
|
_app_registry: Dict[str, Sanic]
|
||||||
|
asgi: bool
|
||||||
config: Config
|
config: Config
|
||||||
listeners: Dict[str, List[ListenerType[Any]]]
|
listeners: Dict[str, List[ListenerType[Any]]]
|
||||||
state: ApplicationState
|
state: ApplicationState
|
||||||
@@ -525,7 +526,7 @@ class RunnerMixin(metaclass=SanicMeta):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
server = ""
|
server = "ASGI" if self.asgi else "unknown" # type: ignore
|
||||||
|
|
||||||
display = {
|
display = {
|
||||||
"mode": " ".join(mode),
|
"mode": " ".join(mode),
|
||||||
@@ -571,8 +572,12 @@ class RunnerMixin(metaclass=SanicMeta):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def serve_location(self) -> str:
|
def serve_location(self) -> str:
|
||||||
|
try:
|
||||||
server_settings = self.state.server_info[0].settings
|
server_settings = self.state.server_info[0].settings
|
||||||
return self.get_server_location(server_settings)
|
return self.get_server_location(server_settings)
|
||||||
|
except IndexError:
|
||||||
|
location = "ASGI" if self.asgi else "unknown" # type: ignore
|
||||||
|
return f"http://<{location}>"
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_server_location(
|
def get_server_location(
|
||||||
|
|||||||
@@ -546,3 +546,13 @@ async def test_signals_triggered(app):
|
|||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
assert response.text == "test_signals_triggered"
|
assert response.text == "test_signals_triggered"
|
||||||
assert signals_triggered == signals_expected
|
assert signals_triggered == signals_expected
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_asgi_serve_location(app):
|
||||||
|
@app.get("/")
|
||||||
|
def _request(request: Request):
|
||||||
|
return text(request.app.serve_location)
|
||||||
|
|
||||||
|
_, response = await app.asgi_client.get("/")
|
||||||
|
assert response.text == "http://<ASGI>"
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import json as stdjson
|
|||||||
|
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
from sys import version_info
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
@@ -74,7 +75,10 @@ def test_full_message(client):
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
response = client.recv()
|
response = client.recv()
|
||||||
assert len(response) == 151
|
|
||||||
|
# AltSvcCheck touchup removes the Alt-Svc header from the
|
||||||
|
# response in the Python 3.9+ in this case
|
||||||
|
assert len(response) == (151 if version_info < (3, 9) else 140)
|
||||||
assert b"200 OK" in response
|
assert b"200 OK" in response
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user