Compare commits
	
		
			5 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | c3003413d3 | ||
|   | fe3fdc5d83 | ||
|   | b66fb6f9e8 | ||
|   | bf6175fb20 | ||
|   | 58ca887be4 | 
							
								
								
									
										12
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| # These are supported funding model platforms | ||||
|  | ||||
| github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] | ||||
| patreon: # Replace with a single Patreon username | ||||
| open_collective: sanic-org # Replace with a single Open Collective username | ||||
| ko_fi: # Replace with a single Ko-fi username | ||||
| tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel | ||||
| community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry | ||||
| liberapay: # Replace with a single Liberapay username | ||||
| issuehunt: # Replace with a single IssueHunt username | ||||
| otechie: # Replace with a single Otechie username | ||||
| custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] | ||||
| @@ -1,3 +1,90 @@ | ||||
| Version 20.12.0 | ||||
| =============== | ||||
|  | ||||
| Features | ||||
| ******** | ||||
|  | ||||
|   * | ||||
|     `#1945 <https://github.com/huge-success/sanic/pull/1945>`_ | ||||
|     Static route more verbose if file not found | ||||
|  | ||||
|   * | ||||
|     `#1954 <https://github.com/huge-success/sanic/pull/1954>`_ | ||||
|     Fix static routes registration on a blueprint | ||||
|  | ||||
|   * | ||||
|     `#1961 <https://github.com/huge-success/sanic/pull/1961>`_ | ||||
|     Add Python 3.9 support | ||||
|  | ||||
|   * | ||||
|     `#1962 <https://github.com/huge-success/sanic/pull/1962>`_ | ||||
|     Sanic CLI upgrade | ||||
|  | ||||
|   * | ||||
|     `#1967 <https://github.com/huge-success/sanic/pull/1967>`_ | ||||
|     Update aiofile version requirements | ||||
|  | ||||
|   * | ||||
|     `#1969 <https://github.com/huge-success/sanic/pull/1969>`_ | ||||
|     Update multidict version requirements | ||||
|  | ||||
|   * | ||||
|     `#1970 <https://github.com/huge-success/sanic/pull/1970>`_ | ||||
|     Add py.typed file | ||||
|  | ||||
|   * | ||||
|     `#1972 <https://github.com/huge-success/sanic/pull/1972>`_ | ||||
|     Speed optimization in request handler | ||||
|  | ||||
|   * | ||||
|     `#1979 <https://github.com/huge-success/sanic/pull/1979>`_ | ||||
|     Add app registry and Sanic class level app retrieval | ||||
|  | ||||
| Bugfixes | ||||
| ******** | ||||
|  | ||||
|   * | ||||
|     `#1965 <https://github.com/huge-success/sanic/pull/1965>`_ | ||||
|     Fix Chunked Transport-Encoding in ASGI streaming response | ||||
|  | ||||
| Deprecations and Removals | ||||
| ************************* | ||||
|  | ||||
|   * | ||||
|     `#1981 <https://github.com/huge-success/sanic/pull/1981>`_ | ||||
|     Cleanup and remove deprecated code | ||||
|  | ||||
| Developer infrastructure | ||||
| ************************ | ||||
|  | ||||
|   * | ||||
|     `#1956 <https://github.com/huge-success/sanic/pull/1956>`_ | ||||
|     Fix load module test | ||||
|  | ||||
|   * | ||||
|     `#1973 <https://github.com/huge-success/sanic/pull/1973>`_ | ||||
|     Transition Travis from .org to .com | ||||
|  | ||||
|   * | ||||
|     `#1986 <https://github.com/huge-success/sanic/pull/1986>`_ | ||||
|     Update tox requirements | ||||
|  | ||||
| Improved Documentation | ||||
| ********************** | ||||
|  | ||||
|   * | ||||
|     `#1951 <https://github.com/huge-success/sanic/pull/1951>`_ | ||||
|     Documentation improvements | ||||
|  | ||||
|   * | ||||
|     `#1983 <https://github.com/huge-success/sanic/pull/1983>`_ | ||||
|     Remove duplicate contents in testing.rst | ||||
|  | ||||
|   * | ||||
|     `#1984 <https://github.com/huge-success/sanic/pull/1984>`_ | ||||
|     Fix typo in routing.rst | ||||
|  | ||||
|  | ||||
| Version 20.9.1 | ||||
| =============== | ||||
|  | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| __version__ = "20.9.1" | ||||
| __version__ = "20.12.1" | ||||
|   | ||||
| @@ -50,6 +50,7 @@ class Sanic: | ||||
|         strict_slashes=False, | ||||
|         log_config=None, | ||||
|         configure_logging=True, | ||||
|         register=None, | ||||
|     ): | ||||
|  | ||||
|         # Get name from previous stack frame | ||||
| @@ -88,7 +89,11 @@ class Sanic: | ||||
|         # Register alternative method names | ||||
|         self.go_fast = self.run | ||||
|  | ||||
|         self.__class__.register_app(self) | ||||
|         if register is not None: | ||||
|             self.config.REGISTER = register | ||||
|  | ||||
|         if self.config.REGISTER: | ||||
|             self.__class__.register_app(self) | ||||
|  | ||||
|     @property | ||||
|     def loop(self): | ||||
|   | ||||
| @@ -40,6 +40,7 @@ DEFAULT_CONFIG = { | ||||
|     "PROXIES_COUNT": None, | ||||
|     "FORWARDED_FOR_HEADER": "X-Forwarded-For", | ||||
|     "FALLBACK_ERROR_FORMAT": "html", | ||||
|     "REGISTER": True, | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ import logging | ||||
| import sys | ||||
|  | ||||
| from inspect import isawaitable | ||||
| from os import environ | ||||
| from unittest.mock import patch | ||||
|  | ||||
| import pytest | ||||
| @@ -290,6 +291,7 @@ def test_app_registry_name_reuse(): | ||||
|     with pytest.raises(SanicException): | ||||
|         Sanic("test") | ||||
|     Sanic.test_mode = True | ||||
|     Sanic("test") | ||||
|  | ||||
|  | ||||
| def test_app_registry_retrieval(): | ||||
| @@ -306,3 +308,17 @@ def test_get_app_does_not_exist_force_create(): | ||||
|     assert isinstance( | ||||
|         Sanic.get_app("does-not-exist", force_create=True), Sanic | ||||
|     ) | ||||
|  | ||||
|  | ||||
| def test_app_no_registry(): | ||||
|     Sanic("no-register", register=False) | ||||
|     with pytest.raises(SanicException): | ||||
|         Sanic.get_app("no-register") | ||||
|  | ||||
|  | ||||
| def test_app_no_registry_env(): | ||||
|     environ["SANIC_REGISTER"] = "False" | ||||
|     Sanic("no-register") | ||||
|     with pytest.raises(SanicException): | ||||
|         Sanic.get_app("no-register") | ||||
|     del environ["SANIC_REGISTER"] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user