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