11from __future__ import annotations
22
3+ from collections .abc import AsyncIterator , Iterable , Iterator
34from contextlib import asynccontextmanager , contextmanager
45from typing import IO , Any , Mapping , cast
5- from collections .abc import AsyncIterator , Iterable , Iterator
66
77import httpx
88
99from ..._models import FinalRequestOptions
10- from ..._types import Body , BinaryTypes , NotGiven , Timeout , not_given
10+ from ..._types import BinaryTypes , Body , NotGiven , Timeout , not_given
1111from .routing import BrowserRoute
1212from .util import sanitize_curl_raw_params
1313
@@ -26,18 +26,17 @@ def request_via_browser_route(
2626) -> httpx .Response :
2727 if json is not None and content is not None :
2828 raise TypeError ("Passing both `json` and `content` is not supported" )
29- q : dict [str , object ] = {** sanitize_curl_raw_params (params ), "url" : url }
30- q ["jwt" ] = route .jwt
31- opts = FinalRequestOptions .construct (
29+ query : dict [str , object ] = {** sanitize_curl_raw_params (params ), "url" : url , "jwt" : route .jwt }
30+ options = FinalRequestOptions .construct (
3231 method = method .upper (),
3332 url = route .base_url .rstrip ("/" ) + "/curl/raw" ,
34- params = q ,
33+ params = query ,
3534 headers = headers or {},
3635 content = _normalize_binary_content (content ),
3736 json_data = json ,
3837 timeout = timeout ,
3938 )
40- return cast (httpx .Response , parent .request (httpx .Response , opts ))
39+ return cast (httpx .Response , parent .request (httpx .Response , options ))
4140
4241
4342@contextmanager
@@ -52,25 +51,25 @@ def stream_via_browser_route(
5251 params : Mapping [str , object ] | None = None ,
5352 timeout : float | Timeout | None | NotGiven = not_given ,
5453) -> Iterator [httpx .Response ]:
55- q : dict [str , Any ] = sanitize_curl_raw_params (params )
56- q ["jwt" ] = route .jwt
57- q ["url" ] = url
58- h = {k : v for k , v in parent .default_headers .items () if isinstance (v , str )}
54+ query : dict [str , Any ] = sanitize_curl_raw_params (params )
55+ query ["jwt" ] = route .jwt
56+ query ["url" ] = url
57+ request_headers = {k : v for k , v in parent .default_headers .items () if isinstance (v , str )}
5958 if content is None :
60- h .pop ("Content-Type" , None )
59+ request_headers .pop ("Content-Type" , None )
6160 if headers :
62- h .update (headers )
63- h .pop ("Authorization" , None )
64- eff_timeout = parent .timeout if isinstance (timeout , NotGiven ) else timeout
61+ request_headers .update (headers )
62+ request_headers .pop ("Authorization" , None )
63+ effective_timeout = parent .timeout if isinstance (timeout , NotGiven ) else timeout
6564 with parent ._client .stream (
6665 method .upper (),
6766 route .base_url .rstrip ("/" ) + "/curl/raw" ,
68- params = q ,
69- headers = h ,
67+ params = query ,
68+ headers = request_headers ,
7069 content = _normalize_binary_content (content ),
71- timeout = _normalize_timeout (eff_timeout ),
72- ) as resp :
73- yield resp
70+ timeout = _normalize_timeout (effective_timeout ),
71+ ) as response :
72+ yield response
7473
7574
7675async def async_request_via_browser_route (
@@ -87,18 +86,17 @@ async def async_request_via_browser_route(
8786) -> httpx .Response :
8887 if json is not None and content is not None :
8988 raise TypeError ("Passing both `json` and `content` is not supported" )
90- q : dict [str , object ] = {** sanitize_curl_raw_params (params ), "url" : url }
91- q ["jwt" ] = route .jwt
92- opts = FinalRequestOptions .construct (
89+ query : dict [str , object ] = {** sanitize_curl_raw_params (params ), "url" : url , "jwt" : route .jwt }
90+ options = FinalRequestOptions .construct (
9391 method = method .upper (),
9492 url = route .base_url .rstrip ("/" ) + "/curl/raw" ,
95- params = q ,
93+ params = query ,
9694 headers = headers or {},
9795 content = _normalize_binary_content (content ),
9896 json_data = json ,
9997 timeout = timeout ,
10098 )
101- return cast (httpx .Response , await parent .request (httpx .Response , opts ))
99+ return cast (httpx .Response , await parent .request (httpx .Response , options ))
102100
103101
104102@asynccontextmanager
@@ -113,25 +111,25 @@ async def async_stream_via_browser_route(
113111 params : Mapping [str , object ] | None = None ,
114112 timeout : float | Timeout | None | NotGiven = not_given ,
115113) -> AsyncIterator [httpx .Response ]:
116- q : dict [str , Any ] = sanitize_curl_raw_params (params )
117- q ["jwt" ] = route .jwt
118- q ["url" ] = url
119- h = {k : v for k , v in parent .default_headers .items () if isinstance (v , str )}
114+ query : dict [str , Any ] = sanitize_curl_raw_params (params )
115+ query ["jwt" ] = route .jwt
116+ query ["url" ] = url
117+ request_headers = {k : v for k , v in parent .default_headers .items () if isinstance (v , str )}
120118 if content is None :
121- h .pop ("Content-Type" , None )
119+ request_headers .pop ("Content-Type" , None )
122120 if headers :
123- h .update (headers )
124- h .pop ("Authorization" , None )
125- eff_timeout = parent .timeout if isinstance (timeout , NotGiven ) else timeout
121+ request_headers .update (headers )
122+ request_headers .pop ("Authorization" , None )
123+ effective_timeout = parent .timeout if isinstance (timeout , NotGiven ) else timeout
126124 async with parent ._client .stream (
127125 method .upper (),
128126 route .base_url .rstrip ("/" ) + "/curl/raw" ,
129- params = q ,
130- headers = h ,
127+ params = query ,
128+ headers = request_headers ,
131129 content = _normalize_binary_content (content ),
132- timeout = _normalize_timeout (eff_timeout ),
133- ) as resp :
134- yield resp
130+ timeout = _normalize_timeout (effective_timeout ),
131+ ) as response :
132+ yield response
135133
136134
137135def _normalize_timeout (timeout : float | Timeout | None | NotGiven ) -> float | Timeout | None :
0 commit comments