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:
collections.abc.Mapping
e.g.dict
,multidict.MultiDict
ormultidict.MultiDictProxy
collections.abc.Iterable
e.g.tuple
orlist
str
with 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.
10
seconds 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