Skip to content

Commit f88ca09

Browse files
feat: Add support for cookie parameters
1 parent af09640 commit f88ca09

22 files changed

+247
-18
lines changed
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+
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
@@ -27,6 +27,7 @@ def _get_kwargs(
2727
url = "{}/tests/defaults".format(client.base_url)
2828

2929
headers: Dict[str, Any] = client.get_headers()
30+
cookies: Dict[str, Any] = client.get_cookies()
3031

3132
json_datetime_prop: Union[Unset, str] = UNSET
3233
if not isinstance(datetime_prop, Unset):
@@ -90,7 +91,7 @@ def _get_kwargs(
9091
return {
9192
"url": url,
9293
"headers": headers,
93-
"cookies": client.get_cookies(),
94+
"cookies": cookies,
9495
"timeout": client.get_timeout(),
9596
"params": params,
9697
}

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:
@@ -39,7 +40,7 @@ def _get_kwargs(
3940
return {
4041
"url": url,
4142
"headers": headers,
42-
"cookies": client.get_cookies(),
43+
"cookies": cookies,
4344
"timeout": client.get_timeout(),
4445
"params": params,
4546
}

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

@@ -26,7 +27,7 @@ def _get_kwargs(
2627
return {
2728
"url": url,
2829
"headers": headers,
29-
"cookies": client.get_cookies(),
30+
"cookies": cookies,
3031
"timeout": client.get_timeout(),
3132
"params": params,
3233
}

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
}

end_to_end_tests/golden-record/my_test_api_client/api/tests/no_response_tests_no_response_get.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/no_response".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/octet_stream_tests_octet_stream_get.py

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

1616
headers: Dict[str, Any] = client.get_headers()
17+
cookies: Dict[str, Any] = client.get_cookies()
1718

1819
return {
1920
"url": url,
2021
"headers": headers,
21-
"cookies": client.get_cookies(),
22+
"cookies": cookies,
2223
"timeout": client.get_timeout(),
2324
}
2425

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

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

1717
headers: Dict[str, Any] = client.get_headers()
18+
cookies: Dict[str, Any] = client.get_cookies()
1819

1920
json_query_param: Union[Unset, List[Any]] = UNSET
2021
if not isinstance(query_param, Unset):
@@ -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/test_inline_objects.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/inline_objects".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
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
from typing import Any, Dict, Optional, Union
2+
3+
import httpx
4+
5+
from ...client import Client
6+
from ...types import Response
7+
8+
9+
def _get_kwargs(
10+
*,
11+
client: Client,
12+
token: str,
13+
) -> Dict[str, Any]:
14+
url = "{}/auth/token_with_cookie".format(client.base_url)
15+
16+
headers: Dict[str, Any] = client.get_headers()
17+
cookies: Dict[str, Any] = client.get_cookies()
18+
19+
cookies["token"] = token
20+
21+
return {
22+
"url": url,
23+
"headers": headers,
24+
"cookies": cookies,
25+
"timeout": client.get_timeout(),
26+
}
27+
28+
29+
def _parse_response(*, response: httpx.Response) -> Optional[Union[None, None]]:
30+
if response.status_code == 200:
31+
response_200 = None
32+
33+
return response_200
34+
if response.status_code == 401:
35+
response_401 = None
36+
37+
return response_401
38+
return None
39+
40+
41+
def _build_response(*, response: httpx.Response) -> Response[Union[None, None]]:
42+
return Response(
43+
status_code=response.status_code,
44+
content=response.content,
45+
headers=response.headers,
46+
parsed=_parse_response(response=response),
47+
)
48+
49+
50+
def sync_detailed(
51+
*,
52+
client: Client,
53+
token: str,
54+
) -> Response[Union[None, None]]:
55+
kwargs = _get_kwargs(
56+
client=client,
57+
token=token,
58+
)
59+
60+
response = httpx.get(
61+
**kwargs,
62+
)
63+
64+
return _build_response(response=response)
65+
66+
67+
def sync(
68+
*,
69+
client: Client,
70+
token: str,
71+
) -> Optional[Union[None, None]]:
72+
""" Test optional cookie parameters """
73+
74+
return sync_detailed(
75+
client=client,
76+
token=token,
77+
).parsed
78+
79+
80+
async def asyncio_detailed(
81+
*,
82+
client: Client,
83+
token: str,
84+
) -> Response[Union[None, None]]:
85+
kwargs = _get_kwargs(
86+
client=client,
87+
token=token,
88+
)
89+
90+
async with httpx.AsyncClient() as _client:
91+
response = await _client.get(**kwargs)
92+
93+
return _build_response(response=response)
94+
95+
96+
async def asyncio(
97+
*,
98+
client: Client,
99+
token: str,
100+
) -> Optional[Union[None, None]]:
101+
""" Test optional cookie parameters """
102+
103+
return (
104+
await asyncio_detailed(
105+
client=client,
106+
token=token,
107+
)
108+
).parsed

end_to_end_tests/golden-record/my_test_api_client/api/tests/unsupported_content_tests_unsupported_content_get.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/unsupported_content".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/upload_file_tests_upload_post.py

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

1919
headers: Dict[str, Any] = client.get_headers()
20+
cookies: Dict[str, Any] = client.get_cookies()
2021

2122
if keep_alive is not UNSET:
2223
headers["keep-alive"] = keep_alive
2324

2425
return {
2526
"url": url,
2627
"headers": headers,
27-
"cookies": client.get_cookies(),
28+
"cookies": cookies,
2829
"timeout": client.get_timeout(),
2930
"files": multipart_data.to_dict(),
3031
}

0 commit comments

Comments
 (0)