Compare commits
	
		
			1 Commits
		
	
	
		
			response-e
			...
			remove-get
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | b692309c91 | 
| @@ -149,13 +149,11 @@ class CookieRequestParameters(RequestParameters): | |||||||
|         except KeyError: |         except KeyError: | ||||||
|             return super().get(name, default) |             return super().get(name, default) | ||||||
|  |  | ||||||
|     def getlist( |     def getlist(self, name: str) -> list[Any]: | ||||||
|         self, name: str, default: Optional[Any] = None |  | ||||||
|     ) -> Optional[Any]: |  | ||||||
|         try: |         try: | ||||||
|             return self._get_prefixed_cookie(name) |             return self._get_prefixed_cookie(name) | ||||||
|         except KeyError: |         except KeyError: | ||||||
|             return super().getlist(name, default) |             return super().getlist(name) | ||||||
|  |  | ||||||
|     def _get_prefixed_cookie(self, name: str) -> Any: |     def _get_prefixed_cookie(self, name: str) -> Any: | ||||||
|         getitem = super().__getitem__ |         getitem = super().__getitem__ | ||||||
|   | |||||||
| @@ -19,15 +19,14 @@ class RequestParameters(dict): | |||||||
|         return super().get(name, [default])[0] |         return super().get(name, [default])[0] | ||||||
|  |  | ||||||
|     def getlist( |     def getlist( | ||||||
|         self, name: str, default: Optional[Any] = None |         self, name: str | ||||||
|     ) -> Optional[Any]: |     ) -> list[Any]: | ||||||
|         """Return the entire list |         """Return the entire list | ||||||
|  |  | ||||||
|         Args: |         Args: | ||||||
|             name (str): The name of the parameter |             name (str): The name of the parameter | ||||||
|             default (Optional[Any], optional): The default value. Defaults to None. |  | ||||||
|  |  | ||||||
|         Returns: |         Returns: | ||||||
|             Optional[Any]: The entire list |             list[Any]: The entire list of values or [] if not found | ||||||
|         """  # noqa: E501 |         """  # noqa: E501 | ||||||
|         return super().get(name, default) |         return super().get(name) or [] | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ from sanic.helpers import ( | |||||||
|     Default, |     Default, | ||||||
|     _default, |     _default, | ||||||
|     has_message_body, |     has_message_body, | ||||||
|  |     remove_entity_headers, | ||||||
| ) | ) | ||||||
| from sanic.http import Http | from sanic.http import Http | ||||||
|  |  | ||||||
| @@ -105,6 +106,9 @@ class BaseHTTPResponse: | |||||||
|         Returns: |         Returns: | ||||||
|             Iterator[Tuple[bytes, bytes]]: A list of header tuples encoded in bytes for sending |             Iterator[Tuple[bytes, bytes]]: A list of header tuples encoded in bytes for sending | ||||||
|         """  # noqa: E501 |         """  # 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): |         if has_message_body(self.status): | ||||||
|             self.headers.setdefault("content-type", self.content_type) |             self.headers.setdefault("content-type", self.content_type) | ||||||
|         # Encode headers into bytes |         # Encode headers into bytes | ||||||
|   | |||||||
| @@ -445,10 +445,10 @@ def test_cookie_accessors(app: Sanic): | |||||||
|                     "four": request.cookies.get("four", "fallback"), |                     "four": request.cookies.get("four", "fallback"), | ||||||
|                 }, |                 }, | ||||||
|                 "getlist": { |                 "getlist": { | ||||||
|                     "one": request.cookies.getlist("one", ["fallback"]), |                     "one": request.cookies.getlist("one"), | ||||||
|                     "two": request.cookies.getlist("two", ["fallback"]), |                     "two": request.cookies.getlist("two"), | ||||||
|                     "three": request.cookies.getlist("three", ["fallback"]), |                     "three": request.cookies.getlist("three"), | ||||||
|                     "four": request.cookies.getlist("four", ["fallback"]), |                     "four": request.cookies.getlist("four"), | ||||||
|                 }, |                 }, | ||||||
|                 "getattr": { |                 "getattr": { | ||||||
|                     "one": request.cookies.one, |                     "one": request.cookies.one, | ||||||
| @@ -484,7 +484,7 @@ def test_cookie_accessors(app: Sanic): | |||||||
|             "one": ["1"], |             "one": ["1"], | ||||||
|             "two": ["2"], |             "two": ["2"], | ||||||
|             "three": ["3"], |             "three": ["3"], | ||||||
|             "four": ["fallback"], |             "four": [], | ||||||
|         }, |         }, | ||||||
|         "getattr": { |         "getattr": { | ||||||
|             "one": "1", |             "one": "1", | ||||||
|   | |||||||
| @@ -178,10 +178,6 @@ def json_app(app): | |||||||
|     async def unmodified_handler(request: Request): |     async def unmodified_handler(request: Request): | ||||||
|         return json(JSON_DATA, status=304) |         return json(JSON_DATA, status=304) | ||||||
|  |  | ||||||
|     @app.get("/precondition") |  | ||||||
|     async def precondition_handler(request: Request): |  | ||||||
|         return json(JSON_DATA, status=412) |  | ||||||
|  |  | ||||||
|     @app.delete("/") |     @app.delete("/") | ||||||
|     async def delete_handler(request: Request): |     async def delete_handler(request: Request): | ||||||
|         return json(None, status=204) |         return json(None, status=204) | ||||||
| @@ -197,10 +193,6 @@ def test_json_response(json_app): | |||||||
|     assert response.text == json_dumps(JSON_DATA) |     assert response.text == json_dumps(JSON_DATA) | ||||||
|     assert response.json == 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): | def test_no_content(json_app): | ||||||
|     request, response = json_app.test_client.get("/no-content") |     request, response = json_app.test_client.get("/no-content") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user