diff options
author | 2022-10-17 15:38:36 -0700 | |
---|---|---|
committer | 2022-10-17 15:38:36 -0700 | |
commit | b595ddf20dee4710f0b4c4b46cd117bcb78e7af6 (patch) | |
tree | b534ab8df69c3a396afd66927654f2eeed276f21 /test/bun.js/websocket-server.test.ts | |
parent | 4bd9b20c8a45f08ac8169e782028d26282d54829 (diff) | |
download | bun-b595ddf20dee4710f0b4c4b46cd117bcb78e7af6.tar.gz bun-b595ddf20dee4710f0b4c4b46cd117bcb78e7af6.tar.zst bun-b595ddf20dee4710f0b4c4b46cd117bcb78e7af6.zip |
Fix error handler
Diffstat (limited to 'test/bun.js/websocket-server.test.ts')
-rw-r--r-- | test/bun.js/websocket-server.test.ts | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/bun.js/websocket-server.test.ts b/test/bun.js/websocket-server.test.ts index 61cd08f7a..6c2dfa64f 100644 --- a/test/bun.js/websocket-server.test.ts +++ b/test/bun.js/websocket-server.test.ts @@ -53,6 +53,46 @@ describe("websocket server", () => { }); server.stop(); }); + + it("headers error doesn't crash", async () => { + var resolve, reject; + var server = serve({ + port: getPort(), + websocket: { + open(ws) {}, + message(ws, msg) {}, + close() { + resolve(); + }, + }, + error(err) { + resolve(); + }, + fetch(req, server) { + if ( + server.upgrade(req, { + data: "hello world", + + headers: 1238, + }) + ) { + reject(); + return; + } + reject(); + return new Response("noooooo hello world"); + }, + }); + + await new Promise((resolve_, reject) => { + resolve = resolve_; + const websocket = new WebSocket(`ws://localhost:${server.port}`); + websocket.onopen = () => websocket.close(); + websocket.onmessage = (e) => {}; + websocket.onerror = (e) => {}; + }); + server.stop(); + }); it("can do hello world", async () => { var server = serve({ port: getPort(), |