upgrade 静态方法

Future<WebSocket> upgrade(
  1. HttpRequest request,
  2. {dynamic protocolSelector(
    1. List<String> protocols
    )?,
  3. CompressionOptions compression = CompressionOptions.compressionDefault}
)

HttpRequest 升级为 WebSocket 连接。如果请求不是一个有效的 WebSocket 升级请求,将返回带有状态码 500 的 HTTP 响应。否则,返回的 future 将在升级过程完成后完成,并返回 WebSocket

如果提供了 protocolSelector,将调用 protocolSelector 来选择要使用的协议(如果客户端提供了任何协议)。protocolSelector 应该返回一个 String 或一个完成 StringFuture。该 String 必须存在于协议列表中。

如果提供了 compression,创建的 WebSocket 将配置为与指定的 CompressionOptions 进行协商。如果没有指定,则将使用默认的 CompressionOptions 创建 WebSocket

实现

static Future<WebSocket> upgrade(HttpRequest request,
    {Function(List<String> protocols)? protocolSelector,
    CompressionOptions compression = CompressionOptions.compressionDefault}) {
  return _WebSocketTransformerImpl._upgrade(
      request, protocolSelector, compression);
}