WebSocketLink constructor

WebSocketLink(
  1. String? uri, {
  2. ChannelGenerator? channelGenerator,
  3. bool autoReconnect = true,
  4. Duration reconnectInterval = const Duration(seconds: 10),
  5. RequestSerializer serializer = const RequestSerializer(),
  6. ResponseParser parser = const ResponseParser(),
  7. GraphQLSocketMessageEncoder graphQLSocketMessageEncoder = _defaultGraphQLSocketMessageEncoder,
  8. GraphQLSocketMessageDecoder graphQLSocketMessageDecoder = _defaultGraphQLSocketMessageDecoder,
  9. dynamic initialPayload,
  10. Duration? inactivityTimeout,
})

Initialize the WebSocketLink with a uri. You can customize the headers & protocols by passing channelGenerator, if channelGenerator is passed, uri must be null. channelGenerator is a function that returns WebSocketChannel or IOWebSocketChannel or HtmlWebSocketChannel. You can also pass custom RequestSerializer serializer & ResponseParser parser. Also initialPayload to be passed with the first request to the GraphQL server.

Implementation

WebSocketLink(
  String? uri, {
  ChannelGenerator? channelGenerator,
  this.autoReconnect = true,
  this.reconnectInterval = const Duration(seconds: 10),
  this.serializer = const RequestSerializer(),
  this.parser = const ResponseParser(),
  this.graphQLSocketMessageEncoder = _defaultGraphQLSocketMessageEncoder,
  this.graphQLSocketMessageDecoder = _defaultGraphQLSocketMessageDecoder,
  this.initialPayload,
  this.inactivityTimeout,
}) : assert((uri == null && channelGenerator != null) ||
          (uri != null && channelGenerator == null)) {
  _channelGenerator =
      channelGenerator ?? () => WebSocketChannel.connect(Uri.parse(uri!));
}