Expand description

§juniper_graphql_transport_ws crate

Crates.io Documentation CI Rust 1.65+

This crate contains an implementation of the new graphql-transport-ws GraphQL over WebSocket Protocol, as now used by Apollo and graphql-ws npm package.

Implementation of the legacy graphql-ws GraphQL over WebSocket Protocol may be found in the juniper_graphql_ws crate.

§License

This project is licensed under BSD 2-Clause License.

Structs§

  • Implements the graphql-ws protocol. This is a sink for TryInto<Input> messages and a stream of Output messages.
  • ConnectionConfig is used to configure the connection once the client sends the ConnectionInit message.
  • A payload for errors that can happen before execution. Errors that happen during execution are instead sent to the client via NextPayload. ErrorPayload is a wrapper for an owned GraphQLError.
  • Sent after execution of an operation. For queries and mutations, this is sent to the client once. For subscriptions, this is sent for every event in the event stream.
  • The payload for a client’s “start” message. This triggers execution of a query, mutation, or subscription.

Enums§

  • ClientMessage defines the message types that clients can send.
  • Possible inputs received from a client.
  • Output provides the responses that should be sent to the client.
  • ServerMessage defines the message types that servers can send.

Traits§

  • Init defines the requirements for types that can provide connection configurations when ConnectionInit messages are received. Implementations are provided for ConnectionConfig and closures that meet the requirements.
  • Schema defines the requirements for schemas that can be used for operations. Typically this is just an Arc<RootNode<...>> and you should not have to implement it yourself.