gql.transport.common.adapters.aiohttp

class gql.transport.common.adapters.aiohttp.AIOHTTPWebSocketsAdapter(url: Union[str, URL], *, headers: Optional[Union[Mapping[str, str], Mapping[istr, str], CIMultiDict, CIMultiDictProxy, Iterable[Tuple[Union[str, istr], str]]]] = None, ssl: Optional[Union[SSLContext, Literal[False], Fingerprint]] = None, session: Optional[ClientSession] = None, client_session_args: Optional[Dict[str, Any]] = None, connect_args: Optional[Dict[str, Any]] = None, heartbeat: Optional[float] = None, auth: Optional[BasicAuth] = None, origin: Optional[str] = None, params: Optional[Mapping[str, str]] = None, proxy: Optional[Union[str, URL]] = None, proxy_auth: Optional[BasicAuth] = None, proxy_headers: Optional[Union[Mapping[str, str], Mapping[istr, str], CIMultiDict, CIMultiDictProxy, Iterable[Tuple[Union[str, istr], str]]]] = None, websocket_close_timeout: float = 10.0, receive_timeout: Optional[float] = None, ssl_close_timeout: Optional[Union[int, float]] = 10)

Bases: AdapterConnection

AdapterConnection implementation using the aiohttp library.

__init__(url: Union[str, URL], *, headers: Optional[Union[Mapping[str, str], Mapping[istr, str], CIMultiDict, CIMultiDictProxy, Iterable[Tuple[Union[str, istr], str]]]] = None, ssl: Optional[Union[SSLContext, Literal[False], Fingerprint]] = None, session: Optional[ClientSession] = None, client_session_args: Optional[Dict[str, Any]] = None, connect_args: Optional[Dict[str, Any]] = None, heartbeat: Optional[float] = None, auth: Optional[BasicAuth] = None, origin: Optional[str] = None, params: Optional[Mapping[str, str]] = None, proxy: Optional[Union[str, URL]] = None, proxy_auth: Optional[BasicAuth] = None, proxy_headers: Optional[Union[Mapping[str, str], Mapping[istr, str], CIMultiDict, CIMultiDictProxy, Iterable[Tuple[Union[str, istr], str]]]] = None, websocket_close_timeout: float = 10.0, receive_timeout: Optional[float] = None, ssl_close_timeout: Optional[Union[int, float]] = 10) None

Initialize the transport with the given parameters.

Parameters
  • url – The GraphQL server URL. Example: ‘wss://server.com:PORT/graphql’.

  • headers – Dict of HTTP Headers.

  • ssl – SSL validation mode. True for default SSL check (ssl.create_default_context() is used), False for skip SSL certificate validation, aiohttp.Fingerprint for fingerprint validation, ssl.SSLContext for custom SSL certificate validation.

  • session – Optional aiohttp opened session.

  • client_session_args – Dict of extra args passed to aiohttp.ClientSession

  • connect_args – Dict of extra args passed to aiohttp.ClientSession.ws_connect()

  • heartbeat (float) – Send low level ping message every heartbeat seconds and wait pong response, close connection if pong response is not received. The timer is reset on any data reception.

  • auth – An object that represents HTTP Basic Authorization. BasicAuth (optional)

  • origin (str) – Origin header to send to server(optional)

  • params

    Mapping, iterable of tuple of key/value pairs or string to be sent as parameters in the query string of the new request. Ignored for subsequent redirected requests (optional)

    Allowed values are:

  • proxy – Proxy URL, str or URL (optional)

  • proxy_auth (aiohttp.BasicAuth) – an object that represents proxy HTTP Basic Authorization (optional)

  • websocket_close_timeout (float) – Timeout for websocket to close. 10 seconds by default

  • receive_timeout (float) – Timeout for websocket to receive complete message. None (unlimited) seconds by default

  • ssl_close_timeout – Timeout in seconds to wait for the ssl connection to close properly

async connect() None

Connect to the WebSocket server.

async send(message: str) None

Send message to the WebSocket server.

Args:

message: String message to send

Raises:

TransportConnectionFailed: If connection closed

async receive() str

Receive message from the WebSocket server.

Returns:

String message received

Raises:

TransportConnectionFailed: If connection closed TransportProtocolError: If protocol error or binary data received

async close() None

Close the WebSocket connection.

property headers: Optional[Union[Mapping[str, str], Mapping[istr, str], CIMultiDict, CIMultiDictProxy, Iterable[Tuple[Union[str, istr], str]]]]

Get the response headers from the WebSocket connection.

Returns:

Dictionary of response headers

property response_headers: Dict[str, str]

Get the response headers from the WebSocket connection.

Returns:

Dictionary of response headers

url: str
connect_args: Dict[str, Any]
subprotocols: Optional[List[str]]