aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-17 03:25:50 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-17 03:25:50 -0700
commite1a17aff4c1b8a10c243a7e9a0e990380f42f615 (patch)
tree37e34fcec3e9a71ce92df9f918e0cf8db3350c18 /src
parentb8c5646c4981a408ccb65623d8fe3d23abff89de (diff)
downloadbun-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.zig8
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;
}