GraphQLWebSocketMessage

@Serializable
sealed class GraphQLWebSocketMessage

GraphQL WebSocket protocol message types.

Protocol: graphql-transport-ws Spec: https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md

All messages are JSON-encoded and sent as text frames over WebSocket.

Inheritors

Types

Link copied to clipboard
@Serializable
@SerialName(value = "complete")
data class Complete(val type: String = "complete", val id: String) : GraphQLWebSocketMessage

Bidirectional: Operation complete.

Link copied to clipboard
@Serializable
@SerialName(value = "connection_ack")
data class ConnectionAck(val type: String = "connection_ack", val payload: JsonObject? = null) : GraphQLWebSocketMessage

Server → Client: Connection acknowledged.

Link copied to clipboard
@Serializable
@SerialName(value = "connection_init")
data class ConnectionInit(val type: String = "connection_init", val payload: JsonObject? = null) : GraphQLWebSocketMessage

Client → Server: Initialize connection.

Link copied to clipboard
@Serializable
@SerialName(value = "error")
data class Error(val type: String = "error", val id: String, val payload: List<GraphQLError>) : GraphQLWebSocketMessage

Server → Client: Operation error.

Link copied to clipboard
@Serializable
@SerialName(value = "next")
data class Next(val type: String = "next", val id: String, val payload: JsonElement) : GraphQLWebSocketMessage

Server → Client: Operation result.

Link copied to clipboard
@Serializable
@SerialName(value = "ping")
data class Ping(val type: String = "ping", val payload: JsonObject? = null) : GraphQLWebSocketMessage

Bidirectional: Ping (keep-alive).

Link copied to clipboard
@Serializable
@SerialName(value = "pong")
data class Pong(val type: String = "pong", val payload: JsonObject? = null) : GraphQLWebSocketMessage

Bidirectional: Pong (keep-alive response).

Link copied to clipboard
@Serializable
@SerialName(value = "subscribe")
data class Subscribe(val type: String = "subscribe", val id: String, val payload: SubscribePayload) : GraphQLWebSocketMessage

Client → Server: Subscribe to GraphQL operation.

Properties

Link copied to clipboard
abstract val type: String