From 42c426e7695a0037032d1ac5237830800eeaaed4 Mon Sep 17 00:00:00 2001 From: Matt Mastracci Date: Wed, 1 Nov 2023 15:11:01 -0600 Subject: feat(ext/websocket): websockets over http2 (#21040) Implements `WebSocket` over http/2. This requires a conformant http/2 server supporting the extended connect protocol. Passes approximately 100 new WPT tests (mostly `?wpt_flags=h2` versions of existing websockets APIs). This is implemented as a fallback when http/1.1 fails, so a server that supports both h1 and h2 WebSockets will still end up on the http/1.1 upgrade path. The patch also cleas up the websockets handshake to split it up into http, https+http1 and https+http2, making it a little less intertwined. This uncovered a likely bug in the WPT test server: https://github.com/web-platform-tests/wpt/issues/42896 --- ext/fetch/lib.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'ext/fetch/lib.rs') diff --git a/ext/fetch/lib.rs b/ext/fetch/lib.rs index 797c5e2cd..7cde5584f 100644 --- a/ext/fetch/lib.rs +++ b/ext/fetch/lib.rs @@ -923,6 +923,7 @@ pub fn create_http_client( options.ca_certs, options.unsafely_ignore_certificate_errors, options.client_cert_chain_and_key, + deno_tls::SocketUse::Http, )?; let mut alpn_protocols = vec![]; -- cgit v1.2.3