A websocket transport for GraphQL subscriptions (based on uws)
npm install subscriptions-transport-uwsA GraphQL websocket server and client to facilitate GraphQL subscriptions. Based on subscriptions-transport-ws, built on µWS.
Importing the client and the server modules are done separately from the lib/ directory.
``js`
import Client from 'subscriptions-transport-uws/lib/Client';
import Server from 'subscriptions-transport-uws/lib/Server';
Importing the main module is not supported and will throw an error.
: url that the client will connect to
- options?: Object : optional object to modify default client behavior
* timeout: number : how long the client should wait in ms for a subscription to be started (default 5000 ms)$3
#### subscribe(options, handler) => id
- options: {SubscriptionOptions}
* query: string : GraphQL subscription
* variables: Object : GraphQL subscription variables
* operationName: string : operation name of the subscription
- handler: (errors: Error[], result?: any) => void : function to handle any errors and results from the subscription response####
unsubscribe(id) => void
- id: string : the subscription ID of the subscription to unsubscribe fromServer
$3
- options: {ServerOptions}
* subscriptionManager: SubscriptionManager : GraphQL subscription manager
* onSubscribe?: (message: SubscribeMessage, params: SubscriptionOptions, webSocketRequest: WebSocketRequest) : optional method to create custom params that will be used when resolving this subscription
* keepAlive?: number : optional interval in ms to send SUBSCRIPTION_KEEPALIVE messages to all clientsClient-server messages
Each message has a type, as well as associated fields depending on the message type.
$3
#### SUBSCRIPTION_START
Client sends this message to start a subscription for a query.
- query: GraphQLDocument : GraphQL subscription
- variables: Object : GraphQL subscription variables
- operationName: string : operation name of the subscription
- id: string : subscription ID#### SUBSCRIPTION_END
Client sends this message to end a subscription.
-
id: string : subscription ID of the subscription to be terminated$3
#### SUBSCRIPTION_SUCCESS
The server sends this message to confirm that it has validated the subscription query and
is subscribed to the triggers.
- id: string : ID of the subscription that was successfully set up#### SUBSCRIPTION_FAIL
Server sends this message upon failing to register a subscription. It may also send this message
at any point during the subscription to notify the client the the subscription has been stopped.
-
errors: Array