upgrade 静态方法
- HttpRequest request,
- {dynamic protocolSelector(
将 HttpRequest 升级为 WebSocket
连接。如果请求不是一个有效的 WebSocket 升级请求,将返回带有状态码 500 的 HTTP 响应。否则,返回的 future 将在升级过程完成后完成,并返回 WebSocket
。
如果提供了 protocolSelector
,将调用 protocolSelector
来选择要使用的协议(如果客户端提供了任何协议)。protocolSelector
应该返回一个 String 或一个完成 String 的 Future。该 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);
}