Compare commits
	
		
			4 Commits
		
	
	
		
			guide
			...
			response-e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 8027563144 | ||
|   | 875e921bda | ||
|   | 11c841ab4e | ||
|   | a5a9658896 | 
| @@ -22,7 +22,6 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: | ||||
| .cs { color: #a2a2a2; font-style: italic } /* Comment.Special */ | ||||
| .gd { color: #777777 } /* Generic.Deleted */ | ||||
| .ge { color: #777777 } /* Generic.Emph */ | ||||
| .ges { color: #777777 } /* Generic.EmphStrong */ | ||||
| .gr { color: #777777 } /* Generic.Error */ | ||||
| .gh { color: #777777 } /* Generic.Heading */ | ||||
| .gi { color: #777777 } /* Generic.Inserted */ | ||||
|   | ||||
| @@ -1,8 +1,3 @@ | ||||
| sanic>=23.6.* | ||||
| sanic-ext>=23.6.* | ||||
| msgspec | ||||
| python-frontmatter | ||||
| pygments | ||||
| docstring-parser | ||||
| libsass | ||||
| mistune | ||||
|   | ||||
| @@ -1,11 +1,3 @@ | ||||
| """Sanic  User Guide | ||||
|  | ||||
| https://sanic.dev | ||||
|  | ||||
| Built using the SHH stack: | ||||
| - Sanic | ||||
| - html5tagger | ||||
| - HTMX""" | ||||
| from pathlib import Path | ||||
|  | ||||
| from webapp.worker.factory import create_app | ||||
|   | ||||
| @@ -24,7 +24,6 @@ from sanic.helpers import ( | ||||
|     Default, | ||||
|     _default, | ||||
|     has_message_body, | ||||
|     remove_entity_headers, | ||||
| ) | ||||
| from sanic.http import Http | ||||
|  | ||||
| @@ -106,9 +105,6 @@ class BaseHTTPResponse: | ||||
|         Returns: | ||||
|             Iterator[Tuple[bytes, bytes]]: A list of header tuples encoded in bytes for sending | ||||
|         """  # noqa: E501 | ||||
|         # TODO: Make a blacklist set of header names and then filter with that | ||||
|         if self.status in (304, 412):  # Not Modified, Precondition Failed | ||||
|             self.headers = remove_entity_headers(self.headers) | ||||
|         if has_message_body(self.status): | ||||
|             self.headers.setdefault("content-type", self.content_type) | ||||
|         # Encode headers into bytes | ||||
|   | ||||
| @@ -20,6 +20,7 @@ from pytest import LogCaptureFixture | ||||
|  | ||||
| from sanic import Request, Sanic | ||||
| from sanic.compat import Header | ||||
| from sanic.constants import DEFAULT_HTTP_CONTENT_TYPE | ||||
| from sanic.cookies import CookieJar | ||||
| from sanic.response import ( | ||||
|     HTTPResponse, | ||||
| @@ -177,6 +178,10 @@ def json_app(app): | ||||
|     async def unmodified_handler(request: Request): | ||||
|         return json(JSON_DATA, status=304) | ||||
|  | ||||
|     @app.get("/precondition") | ||||
|     async def precondition_handler(request: Request): | ||||
|         return json(JSON_DATA, status=412) | ||||
|  | ||||
|     @app.delete("/") | ||||
|     async def delete_handler(request: Request): | ||||
|         return json(None, status=204) | ||||
| @@ -192,6 +197,10 @@ def test_json_response(json_app): | ||||
|     assert response.text == json_dumps(JSON_DATA) | ||||
|     assert response.json == JSON_DATA | ||||
|  | ||||
|     request, response = json_app.test_client.get("/precondition") | ||||
|     assert response.status == 412 | ||||
|     assert response.json == JSON_DATA | ||||
|  | ||||
|  | ||||
| def test_no_content(json_app): | ||||
|     request, response = json_app.test_client.get("/no-content") | ||||
| @@ -545,7 +554,7 @@ def test_raw_response(app): | ||||
|         return raw(b"raw_response") | ||||
|  | ||||
|     request, response = app.test_client.get("/test") | ||||
|     assert response.content_type == "application/octet-stream" | ||||
|     assert response.content_type == DEFAULT_HTTP_CONTENT_TYPE | ||||
|     assert response.body == b"raw_response" | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -502,7 +502,7 @@ def test_dynamic_route_int(app): | ||||
|  | ||||
|     request, response = app.test_client.get("/folder/12345") | ||||
|     assert response.text == "OK" | ||||
|     assert type(results[0]) is int | ||||
|     assert isinstance(results[0], int) | ||||
|  | ||||
|     request, response = app.test_client.get("/folder/asdf") | ||||
|     assert response.status == 404 | ||||
| @@ -518,7 +518,7 @@ def test_dynamic_route_number(app): | ||||
|  | ||||
|     request, response = app.test_client.get("/weight/12345") | ||||
|     assert response.text == "OK" | ||||
|     assert type(results[0]) is float | ||||
|     assert isinstance(results[0], float) | ||||
|  | ||||
|     request, response = app.test_client.get("/weight/1234.56") | ||||
|     assert response.status == 200 | ||||
| @@ -567,7 +567,7 @@ def test_dynamic_route_uuid(app): | ||||
|     url = "/quirky/123e4567-e89b-12d3-a456-426655440000" | ||||
|     request, response = app.test_client.get(url) | ||||
|     assert response.text == "OK" | ||||
|     assert type(results[0]) is uuid.UUID | ||||
|     assert isinstance(results[0], uuid.UUID) | ||||
|  | ||||
|     generated_uuid = uuid.uuid4() | ||||
|     request, response = app.test_client.get(f"/quirky/{generated_uuid}") | ||||
| @@ -861,7 +861,7 @@ def test_dynamic_add_route_int(app): | ||||
|  | ||||
|     request, response = app.test_client.get("/folder/12345") | ||||
|     assert response.text == "OK" | ||||
|     assert type(results[0]) is int | ||||
|     assert isinstance(results[0], int) | ||||
|  | ||||
|     request, response = app.test_client.get("/folder/asdf") | ||||
|     assert response.status == 404 | ||||
| @@ -878,7 +878,7 @@ def test_dynamic_add_route_number(app): | ||||
|  | ||||
|     request, response = app.test_client.get("/weight/12345") | ||||
|     assert response.text == "OK" | ||||
|     assert type(results[0]) is float | ||||
|     assert isinstance(results[0], float) | ||||
|  | ||||
|     request, response = app.test_client.get("/weight/1234.56") | ||||
|     assert response.status == 200 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user