View Source GraphQL Websocket Client
A client for connecting with GraphQL over Websockets following the graphql-ws conventions.
installation
Installation
The package can be installed by adding graphql_ws_client
to your list of
dependencies in mix.exs
. If you are using the default configuration, you will
also need the jason
and gun
packages (or provide a custom
GraphQLWSClient.Driver
instead).
def deps do
[
{:graphql_ws_client, "~> 0.1.0"},
{:gun, "~> 2.0"},
{:jason, "~> 1.4"},
]
end
usage
Usage
client = GraphQLWSClient.start_link(url: "ws://localhost:4000/socket")
{:ok, subscription_id} = GraphQLWSClient.subscribe(
client,
"subscription PostCreated { ... }"
)
{:ok, _} = GraphQLWSClient.query(
client,
"mutation CreatePost { ... }"
)
receive do
%GraphQLWSClient.Event{} = event ->
IO.inspect(event)
end
GraphQLClient.close(client)
custom-client
Custom Client
If you want to run the client as part of a supervision tree in your
application, you can also use GraphQLWSClient
to create your own client.
defmodule MyClient do
use GraphQLWSClient, otp_app: :my_app
end
Then, you can configure your client using a config file:
import Config
config :my_app, MyClient,
url: "ws://localhost:4000/socket"
docs
Docs
Documentation can be found at https://hexdocs.pm/graphql_ws_client or
generated locally using mix docs
.