Skip to content

Commit 8db1205

Browse files
committed
Fixed Tornado cookies extracting
1 parent df0bd45 commit 8db1205

2 files changed

Lines changed: 10 additions & 3 deletions

File tree

fastopenapi/routers/tornado/extractors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ def _get_headers(cls, request: Any) -> dict:
2929
@classmethod
3030
def _get_cookies(cls, request: Any) -> dict:
3131
"""Extract cookies"""
32-
return dict(request.cookies)
32+
return {key: morsel.value for key, morsel in request.cookies.items()}
3333

3434
@classmethod
3535
async def _get_body(cls, request: Any) -> dict | list | None:

tests/routers/tornado/test_tornado_extractor.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from http.cookies import SimpleCookie
12
from unittest.mock import Mock
23

34
import pytest
@@ -81,8 +82,12 @@ def test_get_headers(self):
8182

8283
def test_get_cookies(self):
8384
"""Test cookies extraction"""
85+
8486
request = Mock()
85-
request.cookies = {"session": "abc123", "csrf": "token456"}
87+
cookies = SimpleCookie()
88+
cookies["session"] = "abc123"
89+
cookies["csrf"] = "token456"
90+
request.cookies = cookies
8691

8792
result = TornadoRequestDataExtractor._get_cookies(request)
8893

@@ -186,7 +191,9 @@ async def test_extract_request_data_full(self):
186191
request.query_arguments = query_args_mock
187192

188193
request.headers = {"Content-Type": "application/json"}
189-
request.cookies = {"session": "abc"}
194+
cookies = SimpleCookie()
195+
cookies["session"] = "abc"
196+
request.cookies = cookies
190197
request.body = b'{"data": "test"}'
191198

192199
body_args_mock = Mock()

0 commit comments

Comments
 (0)