|
11 | 11 | import uuid
|
12 | 12 | from collections.abc import AsyncIterable, AsyncIterator, Awaitable, Iterable, Mapping
|
13 | 13 | from types import TracebackType
|
14 |
| -from typing import Any, cast |
| 14 | +from typing import Any, Literal, cast, overload |
15 | 15 |
|
16 | 16 | from ..exceptions import (
|
17 | 17 | ConcurrencyError,
|
@@ -243,6 +243,15 @@ async def __aiter__(self) -> AsyncIterator[Data]:
|
243 | 243 | except ConnectionClosedOK:
|
244 | 244 | return
|
245 | 245 |
|
| 246 | + @overload |
| 247 | + async def recv(self, decode: Literal[True] = True) -> str: ... |
| 248 | + |
| 249 | + @overload |
| 250 | + async def recv(self, decode: Literal[False] = False) -> bytes: ... |
| 251 | + |
| 252 | + @overload |
| 253 | + async def recv(self, decode: bool | None = None) -> Data: ... |
| 254 | + |
246 | 255 | async def recv(self, decode: bool | None = None) -> Data:
|
247 | 256 | """
|
248 | 257 | Receive the next message.
|
@@ -312,6 +321,17 @@ async def recv(self, decode: bool | None = None) -> Data:
|
312 | 321 | await asyncio.shield(self.connection_lost_waiter)
|
313 | 322 | raise self.protocol.close_exc from self.recv_exc
|
314 | 323 |
|
| 324 | + @overload |
| 325 | + def recv_streaming(self, decode: Literal[True] = True) -> AsyncIterator[str]: ... |
| 326 | + |
| 327 | + @overload |
| 328 | + def recv_streaming( |
| 329 | + self, decode: Literal[False] = False |
| 330 | + ) -> AsyncIterator[bytes]: ... |
| 331 | + |
| 332 | + @overload |
| 333 | + def recv_streaming(self, decode: bool | None = None) -> AsyncIterator[Data]: ... |
| 334 | + |
315 | 335 | async def recv_streaming(self, decode: bool | None = None) -> AsyncIterator[Data]:
|
316 | 336 | """
|
317 | 337 | Receive the next message frame by frame.
|
|
0 commit comments