Skip to content

Commit 2d305dd

Browse files
feat: Add support for cookie parameters (#326)
* feat: Add support for cookie parameters * fix: cookies Key is case-sensitive * fix: cookies Key is case-sensitive again * docs: Add CHANGELOG entry for #326
1 parent 0d423e3 commit 2d305dd

23 files changed

+248
-18
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2222
- Fixes `Enum` deserialization when the value is `UNSET`.
2323
- Add handling of application/vnd.api+json media type.
2424
- Support passing models into query parameters (#316). Thanks @forest-benchling!
25+
- Add support for cookie parameters (#326).
2526

2627
### Changes
2728

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
from typing import Optional
2+
3+
import httpx
4+
5+
from ...types import Response
6+
7+
Client = httpx.Client
8+
9+
10+
def _parse_response(*, response: httpx.Response) -> Optional[Union[None, None]]:
11+
if response.status_code == 200:
12+
response_200 = None
13+
14+
return response_200
15+
if response.status_code == 401:
16+
response_401 = None
17+
18+
return response_401
19+
return None
20+
21+
22+
def _build_response(*, response: httpx.Response) -> Response[Union[None, None]]:
23+
return Response(
24+
status_code=response.status_code,
25+
content=response.content,
26+
headers=response.headers,
27+
parsed=_parse_response(response=response),
28+
)
29+
30+
31+
def httpx_request(
32+
*,
33+
client: Client,
34+
my_token: str,
35+
) -> Response[Union[None, None]]:
36+
37+
response = client.request(
38+
"get",
39+
"/auth/token_with_cookie",
40+
)
41+
42+
return _build_response(response=response)

end_to_end_tests/golden-record/my_test_api_client/api/tests/defaults_tests_defaults_post.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def _get_kwargs(
3030
url = "{}/tests/defaults".format(client.base_url)
3131

3232
headers: Dict[str, Any] = client.get_headers()
33+
cookies: Dict[str, Any] = client.get_cookies()
3334

3435
json_datetime_prop: Union[Unset, str] = UNSET
3536
if not isinstance(datetime_prop, Unset):
@@ -94,7 +95,7 @@ def _get_kwargs(
9495
return {
9596
"url": url,
9697
"headers": headers,
97-
"cookies": client.get_cookies(),
98+
"cookies": cookies,
9899
"timeout": client.get_timeout(),
99100
"params": params,
100101
}

end_to_end_tests/golden-record/my_test_api_client/api/tests/get_basic_list_of_booleans.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ def _get_kwargs(
1313
url = "{}/tests/basic_lists/booleans".format(client.base_url)
1414

1515
headers: Dict[str, Any] = client.get_headers()
16+
cookies: Dict[str, Any] = client.get_cookies()
1617

1718
return {
1819
"url": url,
1920
"headers": headers,
20-
"cookies": client.get_cookies(),
21+
"cookies": cookies,
2122
"timeout": client.get_timeout(),
2223
}
2324

end_to_end_tests/golden-record/my_test_api_client/api/tests/get_basic_list_of_floats.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ def _get_kwargs(
1313
url = "{}/tests/basic_lists/floats".format(client.base_url)
1414

1515
headers: Dict[str, Any] = client.get_headers()
16+
cookies: Dict[str, Any] = client.get_cookies()
1617

1718
return {
1819
"url": url,
1920
"headers": headers,
20-
"cookies": client.get_cookies(),
21+
"cookies": cookies,
2122
"timeout": client.get_timeout(),
2223
}
2324

end_to_end_tests/golden-record/my_test_api_client/api/tests/get_basic_list_of_integers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ def _get_kwargs(
1313
url = "{}/tests/basic_lists/integers".format(client.base_url)
1414

1515
headers: Dict[str, Any] = client.get_headers()
16+
cookies: Dict[str, Any] = client.get_cookies()
1617

1718
return {
1819
"url": url,
1920
"headers": headers,
20-
"cookies": client.get_cookies(),
21+
"cookies": cookies,
2122
"timeout": client.get_timeout(),
2223
}
2324

end_to_end_tests/golden-record/my_test_api_client/api/tests/get_basic_list_of_strings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ def _get_kwargs(
1313
url = "{}/tests/basic_lists/strings".format(client.base_url)
1414

1515
headers: Dict[str, Any] = client.get_headers()
16+
cookies: Dict[str, Any] = client.get_cookies()
1617

1718
return {
1819
"url": url,
1920
"headers": headers,
20-
"cookies": client.get_cookies(),
21+
"cookies": cookies,
2122
"timeout": client.get_timeout(),
2223
}
2324

end_to_end_tests/golden-record/my_test_api_client/api/tests/get_user_list.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def _get_kwargs(
1919
url = "{}/tests/".format(client.base_url)
2020

2121
headers: Dict[str, Any] = client.get_headers()
22+
cookies: Dict[str, Any] = client.get_cookies()
2223

2324
json_an_enum_value = []
2425
for an_enum_value_item_data in an_enum_value:
@@ -40,7 +41,7 @@ def _get_kwargs(
4041
return {
4142
"url": url,
4243
"headers": headers,
43-
"cookies": client.get_cookies(),
44+
"cookies": cookies,
4445
"timeout": client.get_timeout(),
4546
"params": params,
4647
}

end_to_end_tests/golden-record/my_test_api_client/api/tests/int_enum_tests_int_enum_post.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def _get_kwargs(
1616
url = "{}/tests/int_enum".format(client.base_url)
1717

1818
headers: Dict[str, Any] = client.get_headers()
19+
cookies: Dict[str, Any] = client.get_cookies()
1920

2021
json_int_enum = int_enum.value
2122

@@ -27,7 +28,7 @@ def _get_kwargs(
2728
return {
2829
"url": url,
2930
"headers": headers,
30-
"cookies": client.get_cookies(),
31+
"cookies": cookies,
3132
"timeout": client.get_timeout(),
3233
"params": params,
3334
}

end_to_end_tests/golden-record/my_test_api_client/api/tests/json_body_tests_json_body_post.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ def _get_kwargs(
1616
url = "{}/tests/json_body".format(client.base_url)
1717

1818
headers: Dict[str, Any] = client.get_headers()
19+
cookies: Dict[str, Any] = client.get_cookies()
1920

2021
json_json_body = json_body.to_dict()
2122

2223
return {
2324
"url": url,
2425
"headers": headers,
25-
"cookies": client.get_cookies(),
26+
"cookies": cookies,
2627
"timeout": client.get_timeout(),
2728
"json": json_json_body,
2829
}

0 commit comments

Comments
 (0)