ws method

RouteData ws(
  1. String path,
  2. WebSocketHandler handler, {
  3. List<Middleware> middleware = const [],
  4. String? name,
})

Registers a WebSocket route and returns its RouteData.

WebSocket routes are matched when an incoming request has the Upgrade: websocket header.

Implementation

RouteData ws(
  String path,
  WebSocketHandler handler, {
  List<Middleware> middleware = const [],
  String? name,
}) {
  final fullPath = '$_buildingPrefix$path'.replaceAll('//', '/');
  final allMiddleware = List<Middleware>.from(_buildingMiddleware)..addAll(middleware);

  if (name != null) {
    _namedRoutes[name] = fullPath;
  }

  final data = RouteData(
    wsHandler: handler,
    middleware: allMiddleware,
    name: name,
    method: 'WS',
    path: fullPath,
  );
  _registerRoute(fullPath, 'WS', data);
  return data;
}