Compare commits
1 Commits
response-e
...
remove-get
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b692309c91 |
@@ -149,13 +149,11 @@ class CookieRequestParameters(RequestParameters):
|
||||
except KeyError:
|
||||
return super().get(name, default)
|
||||
|
||||
def getlist(
|
||||
self, name: str, default: Optional[Any] = None
|
||||
) -> Optional[Any]:
|
||||
def getlist(self, name: str) -> list[Any]:
|
||||
try:
|
||||
return self._get_prefixed_cookie(name)
|
||||
except KeyError:
|
||||
return super().getlist(name, default)
|
||||
return super().getlist(name)
|
||||
|
||||
def _get_prefixed_cookie(self, name: str) -> Any:
|
||||
getitem = super().__getitem__
|
||||
|
||||
@@ -19,15 +19,14 @@ class RequestParameters(dict):
|
||||
return super().get(name, [default])[0]
|
||||
|
||||
def getlist(
|
||||
self, name: str, default: Optional[Any] = None
|
||||
) -> Optional[Any]:
|
||||
self, name: str
|
||||
) -> list[Any]:
|
||||
"""Return the entire list
|
||||
|
||||
Args:
|
||||
name (str): The name of the parameter
|
||||
default (Optional[Any], optional): The default value. Defaults to None.
|
||||
|
||||
Returns:
|
||||
Optional[Any]: The entire list
|
||||
list[Any]: The entire list of values or [] if not found
|
||||
""" # noqa: E501
|
||||
return super().get(name, default)
|
||||
return super().get(name) or []
|
||||
|
||||
@@ -24,6 +24,7 @@ from sanic.helpers import (
|
||||
Default,
|
||||
_default,
|
||||
has_message_body,
|
||||
remove_entity_headers,
|
||||
)
|
||||
from sanic.http import Http
|
||||
|
||||
@@ -105,6 +106,9 @@ 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
|
||||
|
||||
@@ -445,10 +445,10 @@ def test_cookie_accessors(app: Sanic):
|
||||
"four": request.cookies.get("four", "fallback"),
|
||||
},
|
||||
"getlist": {
|
||||
"one": request.cookies.getlist("one", ["fallback"]),
|
||||
"two": request.cookies.getlist("two", ["fallback"]),
|
||||
"three": request.cookies.getlist("three", ["fallback"]),
|
||||
"four": request.cookies.getlist("four", ["fallback"]),
|
||||
"one": request.cookies.getlist("one"),
|
||||
"two": request.cookies.getlist("two"),
|
||||
"three": request.cookies.getlist("three"),
|
||||
"four": request.cookies.getlist("four"),
|
||||
},
|
||||
"getattr": {
|
||||
"one": request.cookies.one,
|
||||
@@ -484,7 +484,7 @@ def test_cookie_accessors(app: Sanic):
|
||||
"one": ["1"],
|
||||
"two": ["2"],
|
||||
"three": ["3"],
|
||||
"four": ["fallback"],
|
||||
"four": [],
|
||||
},
|
||||
"getattr": {
|
||||
"one": "1",
|
||||
|
||||
@@ -178,10 +178,6 @@ 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)
|
||||
@@ -197,10 +193,6 @@ 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")
|
||||
|
||||
Reference in New Issue
Block a user