upgrade 静态方法
- HttpRequest request, {
- dynamic protocolSelector()?,
- CompressionOptions compression = CompressionOptions.compressionDefault,
将 HttpRequest 升级到 WebSocket 连接。如果请求不是有效的 WebSocket 升级请求,将返回状态码 500 的 HTTP 响应。否则,当升级过程完成后,返回的 future 将完成并带有 WebSocket。
如果提供了 protocolSelector
,将调用 protocolSelector
来选择要使用的协议(如果客户端提供了任何协议)。protocolSelector
应返回一个 String 或一个完成 String 的 Future。该 String 必须存在于协议列表中。
如果提供了 compression
,创建的 WebSocket 将配置为与指定的 CompressionOptions 进行协商。如果没有指定,则 WebSocket 将使用默认的 CompressionOptions 创建。
实现
static Future<WebSocket> upgrade(HttpRequest request,
{Function(List<String> protocols)? protocolSelector,
CompressionOptions compression = CompressionOptions.compressionDefault}) {
return _WebSocketTransformerImpl._upgrade(
request, protocolSelector, compression);
}