Class GraphQlWebSocketHandler
java.lang.Object
org.springframework.web.socket.handler.AbstractWebSocketHandler
org.springframework.web.socket.handler.TextWebSocketHandler
org.springframework.graphql.server.webmvc.GraphQlWebSocketHandler
- All Implemented Interfaces:
SubProtocolCapable,WebSocketHandler
@RegisterReflectionForBinding(GraphQlWebSocketMessage.class)
public class GraphQlWebSocketHandler
extends TextWebSocketHandler
implements SubProtocolCapable
WebSocketHandler for GraphQL based on
GraphQL Over
WebSocket Protocol and for use on a Servlet container with
spring-websocket.- Since:
- 1.0.0
- Author:
- Rossen Stoyanchev
-
Constructor Summary
ConstructorsConstructorDescriptionGraphQlWebSocketHandler(WebGraphQlHandler graphQlHandler, HttpMessageConverter<?> converter, Duration connectionInitTimeout) Create a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidafterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) voidasWebSocketHttpRequestHandler(HandshakeHandler handshakeHandler) Deprecated.protected voidhandleTextMessage(WebSocketSession session, TextMessage webSocketMessage) voidhandleTransportError(WebSocketSession session, Throwable exception) initWebSocketHttpRequestHandler(HandshakeHandler handshakeHandler) Initialize aWebSocketHttpRequestHandlerthat wraps this instance and also inserts aHandshakeInterceptorfor context propagation.booleanMethods inherited from class org.springframework.web.socket.handler.TextWebSocketHandler
handleBinaryMessageMethods inherited from class org.springframework.web.socket.handler.AbstractWebSocketHandler
handleMessage, handlePongMessage
-
Constructor Details
-
GraphQlWebSocketHandler
public GraphQlWebSocketHandler(WebGraphQlHandler graphQlHandler, HttpMessageConverter<?> converter, Duration connectionInitTimeout) Create a new instance.- Parameters:
graphQlHandler- common handler for GraphQL over WebSocket requestsconverter- for JSON encoding and decodingconnectionInitTimeout- how long to wait after the establishment of the WebSocket for the"connection_ini"message from the client.
-
-
Method Details
-
getSubProtocols
- Specified by:
getSubProtocolsin interfaceSubProtocolCapable
-
initWebSocketHttpRequestHandler
public WebSocketHttpRequestHandler initWebSocketHttpRequestHandler(HandshakeHandler handshakeHandler) Initialize aWebSocketHttpRequestHandlerthat wraps this instance and also inserts aHandshakeInterceptorfor context propagation.- Since:
- 1.1.0
-
asWebSocketHttpRequestHandler
@Deprecated public WebSocketHttpRequestHandler asWebSocketHttpRequestHandler(HandshakeHandler handshakeHandler) Deprecated.as of 1.1.0 in favor ofinitWebSocketHttpRequestHandler(HandshakeHandler)Return aWebSocketHttpRequestHandlerthat uses this instance as itsWebGraphQlHandlerand adds aHandshakeInterceptorto propagate context. -
afterConnectionEstablished
- Specified by:
afterConnectionEstablishedin interfaceWebSocketHandler- Overrides:
afterConnectionEstablishedin classAbstractWebSocketHandler
-
handleTextMessage
protected void handleTextMessage(WebSocketSession session, TextMessage webSocketMessage) throws Exception - Overrides:
handleTextMessagein classAbstractWebSocketHandler- Throws:
Exception
-
handleTransportError
- Specified by:
handleTransportErrorin interfaceWebSocketHandler- Overrides:
handleTransportErrorin classAbstractWebSocketHandler
-
afterConnectionClosed
- Specified by:
afterConnectionClosedin interfaceWebSocketHandler- Overrides:
afterConnectionClosedin classAbstractWebSocketHandler
-
supportsPartialMessages
public boolean supportsPartialMessages()- Specified by:
supportsPartialMessagesin interfaceWebSocketHandler- Overrides:
supportsPartialMessagesin classAbstractWebSocketHandler
-
initWebSocketHttpRequestHandler(HandshakeHandler)