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) | ||||
|  | ||||
|     @property | ||||
|     def asgi(self): | ||||
|     def asgi(self) -> bool: | ||||
|         return self.state.asgi | ||||
|  | ||||
|     @asgi.setter | ||||
|   | ||||
| @@ -69,6 +69,7 @@ else: | ||||
|  | ||||
| class RunnerMixin(metaclass=SanicMeta): | ||||
|     _app_registry: Dict[str, Sanic] | ||||
|     asgi: bool | ||||
|     config: Config | ||||
|     listeners: Dict[str, List[ListenerType[Any]]] | ||||
|     state: ApplicationState | ||||
| @@ -525,7 +526,7 @@ class RunnerMixin(metaclass=SanicMeta): | ||||
|                     ) | ||||
|                 ) | ||||
|             else: | ||||
|                 server = "" | ||||
|                 server = "ASGI" if self.asgi else "unknown"  # type: ignore | ||||
|  | ||||
|             display = { | ||||
|                 "mode": " ".join(mode), | ||||
| @@ -571,8 +572,12 @@ class RunnerMixin(metaclass=SanicMeta): | ||||
|  | ||||
|     @property | ||||
|     def serve_location(self) -> str: | ||||
|         try: | ||||
|             server_settings = self.state.server_info[0].settings | ||||
|             return self.get_server_location(server_settings) | ||||
|         except IndexError: | ||||
|             location = "ASGI" if self.asgi else "unknown"  # type: ignore | ||||
|             return f"http://<{location}>" | ||||
|  | ||||
|     @staticmethod | ||||
|     def get_server_location( | ||||
|   | ||||
| @@ -546,3 +546,13 @@ async def test_signals_triggered(app): | ||||
|     assert response.status_code == 200 | ||||
|     assert response.text == "test_signals_triggered" | ||||
|     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 pathlib import Path | ||||
| from sys import version_info | ||||
|  | ||||
| import pytest | ||||
|  | ||||
| @@ -74,7 +75,10 @@ def test_full_message(client): | ||||
|         """ | ||||
|     ) | ||||
|     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 | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user