66import codecs
77import asyncio
88import inspect
9- from typing import Any , Union , Callable , Awaitable , AsyncIterator
9+ from typing import Any , Union , Callable , Awaitable , AsyncIterator , cast
1010from importlib import import_module
1111from urllib .parse import urljoin , urlparse , urlunparse
1212
@@ -247,8 +247,8 @@ async def _send(self, payload: bytes) -> None:
247247 async def _recv (self ) -> bytes | str | None :
248248 recv = getattr (self ._ws , "recv" , None )
249249 if recv is None :
250- return await self ._ws .receive ()
251- return await recv ()
250+ return cast ( Union [ bytes , str , None ], await self ._ws .receive () )
251+ return cast ( Union [ bytes , str , None ], await recv () )
252252
253253 async def _close_websocket (self ) -> None :
254254 close = getattr (self ._ws , "close" , None )
@@ -261,7 +261,7 @@ async def _read_loop(self) -> None:
261261 try :
262262 while True :
263263 data = await self ._recv ()
264- if data in ( None , b"" , "" ) :
264+ if data is None or data == b"" or data == "" :
265265 break
266266 chunk = data .encode ("utf-8" ) if isinstance (data , str ) else bytes (data )
267267 await self ._emit (chunk )
@@ -273,12 +273,12 @@ async def _read_loop(self) -> None:
273273
274274 async def _emit (self , chunk : bytes ) -> None :
275275 await self ._queue .put (chunk )
276- for callback in list (self ._raw_callbacks ):
277- await _maybe_await (callback (chunk ))
276+ for raw_callback in list (self ._raw_callbacks ):
277+ await _maybe_await (raw_callback (chunk ))
278278 text = self ._decoder .decode (chunk )
279279 if text :
280- for callback in list (self ._text_callbacks ):
281- await _maybe_await (callback (text ))
280+ for text_callback in list (self ._text_callbacks ):
281+ await _maybe_await (text_callback (text ))
282282
283283
284284class AsyncDevboxPtyProcess :
@@ -384,9 +384,9 @@ async def _publish(self, chunk: bytes) -> None:
384384 if not chunk :
385385 return
386386 await self ._queue .put (chunk )
387- for callback in list (self ._raw_callbacks ):
388- await _maybe_await (callback (chunk ))
387+ for raw_callback in list (self ._raw_callbacks ):
388+ await _maybe_await (raw_callback (chunk ))
389389 text = self ._decoder .decode (chunk )
390390 if text :
391- for callback in list (self ._text_callbacks ):
392- await _maybe_await (callback (text ))
391+ for text_callback in list (self ._text_callbacks ):
392+ await _maybe_await (text_callback (text ))
0 commit comments