1414)
1515from yarl import URL
1616
17- from .const import ResponseType
17+ from .const import DEFAULT_TIMEOUT , ResponseType
1818from .exceptions import (
1919 SupervisorAuthenticationError ,
2020 SupervisorBadRequestError ,
@@ -50,15 +50,9 @@ class _SupervisorClient:
5050
5151 api_host : str
5252 token : str
53- request_timeout : int
5453 session : ClientSession | None = None
5554 _close_session : bool = field (default = False , init = False )
5655
57- @property
58- def timeout (self ) -> ClientTimeout :
59- """Timeout for requests."""
60- return ClientTimeout (total = self .request_timeout )
61-
6256 async def _request (
6357 self ,
6458 method : HTTPMethod ,
@@ -68,6 +62,7 @@ async def _request(
6862 response_type : ResponseType ,
6963 json : dict [str , Any ] | None = None ,
7064 data : Any = None ,
65+ timeout : ClientTimeout | None = DEFAULT_TIMEOUT ,
7166 ) -> Response :
7267 """Handle a request to Supervisor."""
7368 try :
@@ -102,7 +97,7 @@ async def _request(
10297 async with self .session .request (
10398 method .value ,
10499 url ,
105- timeout = self . timeout ,
100+ timeout = timeout ,
106101 headers = headers ,
107102 params = params ,
108103 json = json ,
@@ -153,13 +148,15 @@ async def get(
153148 * ,
154149 params : dict [str , str ] | None = None ,
155150 response_type : ResponseType = ResponseType .JSON ,
151+ timeout : ClientTimeout | None = DEFAULT_TIMEOUT ,
156152 ) -> Response :
157153 """Handle a GET request to Supervisor."""
158154 return await self ._request (
159155 HTTPMethod .GET ,
160156 uri ,
161157 params = params ,
162158 response_type = response_type ,
159+ timeout = timeout ,
163160 )
164161
165162 async def post (
@@ -170,6 +167,7 @@ async def post(
170167 response_type : ResponseType = ResponseType .NONE ,
171168 json : dict [str , Any ] | None = None ,
172169 data : Any = None ,
170+ timeout : ClientTimeout | None = DEFAULT_TIMEOUT ,
173171 ) -> Response :
174172 """Handle a POST request to Supervisor."""
175173 return await self ._request (
@@ -179,6 +177,7 @@ async def post(
179177 response_type = response_type ,
180178 json = json ,
181179 data = data ,
180+ timeout = timeout ,
182181 )
183182
184183 async def put (
@@ -187,6 +186,7 @@ async def put(
187186 * ,
188187 params : dict [str , str ] | None = None ,
189188 json : dict [str , Any ] | None = None ,
189+ timeout : ClientTimeout | None = DEFAULT_TIMEOUT ,
190190 ) -> Response :
191191 """Handle a PUT request to Supervisor."""
192192 return await self ._request (
@@ -195,20 +195,23 @@ async def put(
195195 params = params ,
196196 response_type = ResponseType .NONE ,
197197 json = json ,
198+ timeout = timeout ,
198199 )
199200
200201 async def delete (
201202 self ,
202203 uri : str ,
203204 * ,
204205 params : dict [str , str ] | None = None ,
206+ timeout : ClientTimeout | None = DEFAULT_TIMEOUT ,
205207 ) -> Response :
206208 """Handle a DELETE request to Supervisor."""
207209 return await self ._request (
208210 HTTPMethod .DELETE ,
209211 uri ,
210212 params = params ,
211213 response_type = ResponseType .NONE ,
214+ timeout = timeout ,
212215 )
213216
214217 async def close (self ) -> None :
0 commit comments