INNER CODE UNIT · Python
__anext__
caiovicentino/polymarket-mcp-server · src/polymarket_mcp/server.py:188
async def __anext__(self) -> Union[SessionMessage, Exception]:
if self._iterator is None:
self._iterator = self._read_stream.__aiter__()
while True:
if self._queued_message is not None:
message, self._queued_message = self._queued_message, None
return message
message = await self._iterator.__anext__()
bridged = await self._intercept(message)
if bridged is True:
continue # consumed (answered by the interceptor)
if isinstance(bridged, SessionMessage):
# Emit the era bridge first; the original request follows on
# the next call (the session processes messages in order).
self._queued_message = message
return bridged
return cast("SessionMessage | Exception", message)