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.