tuxbot-bot/venv/lib/python3.7/site-packages/websockets/py35/client.py
2019-12-16 18:12:10 +01:00

33 lines
1.1 KiB
Python

async def __aenter__(self):
return await self
async def __aexit__(self, exc_type, exc_value, traceback):
await self.ws_client.close()
async def __await_impl__(self):
# Duplicated with __iter__ because Python 3.7 requires an async function
# (as explained in __await__ below) which Python 3.4 doesn't support.
transport, protocol = await self._creating_connection
try:
await protocol.handshake(
self._wsuri, origin=self._origin,
available_extensions=protocol.available_extensions,
available_subprotocols=protocol.available_subprotocols,
extra_headers=protocol.extra_headers,
)
except Exception:
await protocol.fail_connection()
raise
self.ws_client = protocol
return protocol
def __await__(self):
# __await__() must return a type that I don't know how to obtain except
# by calling __await__() on the return value of an async function.
# I'm not finding a better way to take advantage of PEP 492.
return __await_impl__(self).__await__()