call method

FutureOr<void> call(
  1. Context context
)

As the WebSocket handler cast to Spry Handler.

Implementation

FutureOr<void> call(Context context) async {
  final request = _httpRequest(context);
  if (!WebSocketTransformer.isUpgradeRequest(request)) {
    return fallback?.call(context) ?? _defaultFallback();
  }

  final websocket = await WebSocketTransformer.upgrade(
    request,
    protocolSelector: protocolSelector,
    compression: compression,
  );

  return Future.value(onConnected(websocket)).then(
    (value) => websocket.done.then((_) => value),
  );
}