Subscriptions Link
Execute subscriptions (or other operations) over WebSocket with the graphql-ws library
The GraphQLWsLink
is a terminating link that's used most commonly with GraphQL subscriptions (which usually communicate over WebSocket), although you can send queries and mutations over WebSocket as well.
GraphQLWsLink
requires the graphql-ws
library. Install it in your project like so:
npm install graphql-ws
Note: This link works with the newer graphql-ws
library. If your server uses the older subscriptions-transport-ws
, you should use the WebSocketLink
link from @apollo/client/link/ws
instead.
Constructor
import { GraphQLWsLink } from "@apollo/client/link/subscriptions";import { createClient } from "graphql-ws";const link = new GraphQLWsLink(createClient({url: "ws://localhost:3000/subscriptions",}),);
Options
The GraphQLWsLink
constructor takes a single argument, which is a Client
returned from the graphql-ws
createClient
function.
The createClient
function can take many options, described in the graphql-ws
docs for ClientOptions
. The one required option is url
, which is the URL (typically starting with ws://
or wss://
, which are the equivalents of http://
and https://
respectively) to your WebSocket server. (Note that this differs from the older link's URL option, which is named uri
instead of url
.)
Usage
See Subscriptions.