response.raw_headers = message["headers"]
return response
- send_stream, recv_stream = anyio.create_memory_object_stream[Message]()
+ streams: anyio.create_memory_object_stream[Message] = anyio.create_memory_object_stream()
+ send_stream, recv_stream = streams
with recv_stream, send_stream, collapse_excgroups():
async with anyio.create_task_group() as task_group:
response = await self.dispatch_func(request, call_next)
"""
The sub-thread in which the websocket session runs.
"""
- send_tx, send_rx = anyio.create_memory_object_stream[Message](math.inf)
- receive_tx, receive_rx = anyio.create_memory_object_stream[Message](math.inf)
+ send: anyio.create_memory_object_stream[Message] = anyio.create_memory_object_stream(math.inf)
+ send_tx, send_rx = send
+ receive: anyio.create_memory_object_stream[Message] = anyio.create_memory_object_stream(math.inf)
+ receive_tx, receive_rx = receive
with send_tx, send_rx, receive_tx, receive_rx, anyio.CancelScope() as cs:
self._receive_tx = receive_tx
self._send_rx = send_rx
def reset_portal() -> None:
self.portal = None
- send1, receive1 = anyio.create_memory_object_stream[
- typing.Union[typing.MutableMapping[str, typing.Any], None]
- ](math.inf)
- send2, receive2 = anyio.create_memory_object_stream[typing.MutableMapping[str, typing.Any]](math.inf)
- for channel in (send1, send2, receive1, receive2):
+ send: anyio.create_memory_object_stream[typing.MutableMapping[str, typing.Any] | None] = (
+ anyio.create_memory_object_stream(math.inf)
+ )
+ receive: anyio.create_memory_object_stream[typing.MutableMapping[str, typing.Any]] = (
+ anyio.create_memory_object_stream(math.inf)
+ )
+ for channel in (*send, *receive):
stack.callback(channel.close)
- self.stream_send = StapledObjectStream(send1, receive1)
- self.stream_receive = StapledObjectStream(send2, receive2)
+ self.stream_send = StapledObjectStream(*send)
+ self.stream_receive = StapledObjectStream(*receive)
self.task = portal.start_task_soon(self.lifespan)
portal.call(self.wait_startup)