diff options
author | 2022-10-17 03:25:50 -0700 | |
---|---|---|
committer | 2022-10-17 03:25:50 -0700 | |
commit | e1a17aff4c1b8a10c243a7e9a0e990380f42f615 (patch) | |
tree | 37e34fcec3e9a71ce92df9f918e0cf8db3350c18 /src | |
parent | b8c5646c4981a408ccb65623d8fe3d23abff89de (diff) | |
download | bun-e1a17aff4c1b8a10c243a7e9a0e990380f42f615.tar.gz bun-e1a17aff4c1b8a10c243a7e9a0e990380f42f615.tar.zst bun-e1a17aff4c1b8a10c243a7e9a0e990380f42f615.zip |
Fix headers + add test
Diffstat (limited to 'src')
-rw-r--r-- | src/bun.js/api/server.zig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/bun.js/api/server.zig b/src/bun.js/api/server.zig index c939d4de1..ea4625f73 100644 --- a/src/bun.js/api/server.zig +++ b/src/bun.js/api/server.zig @@ -3307,6 +3307,8 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type { } } + + if (optional) |opts| { getter: { if (opts.isEmptyOrUndefinedOrNull()) { @@ -3328,6 +3330,9 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type { sec_websocket_extensions = protocol; } + // we must write the status first so that 200 OK isn't written + upgrader.resp.writeStatus("101 Switching Protocols"); + fetch_headers.toUWSResponse(comptime ssl_enabled, upgrader.resp); break :getter; } else if (headers_value.isObject()) { @@ -3340,6 +3345,9 @@ pub fn NewServer(comptime ssl_enabled_: bool, comptime debug_mode_: bool) type { sec_websocket_extensions = protocol; } + // we must write the status first so that 200 OK isn't written + upgrader.resp.writeStatus("101 Switching Protocols"); + fetch_headers.toUWSResponse(comptime ssl_enabled, upgrader.resp); fetch_headers_to_deref = fetch_headers; } |