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:
AdapterConnectionAdapterConnection 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.
Truefor default SSL check (ssl.create_default_context()is used),Falsefor skip SSL certificate validation,aiohttp.Fingerprintfor fingerprint validation,ssl.SSLContextfor custom SSL certificate validation.session – Optional aiohttp opened session.
client_session_args – Dict of extra args passed to
aiohttp.ClientSessionconnect_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:
collections.abc.Mappinge.g.dict,multidict.MultiDictormultidict.MultiDictProxycollections.abc.Iterablee.g.tupleorliststrwith preferably url-encoded content (Warning: content will not be encoded by aiohttp)
proxy_auth (aiohttp.BasicAuth) – an object that represents proxy HTTP Basic Authorization (optional)
websocket_close_timeout (float) – Timeout for websocket to close.
10seconds by defaultreceive_timeout (float) – Timeout for websocket to receive complete message.
None(unlimited) seconds by defaultssl_close_timeout – Timeout in seconds to wait for the ssl connection to close properly
- 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
- 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