diff options
| author | Leo Kettmeir <crowlkats@toaxl.com> | 2022-01-06 17:41:16 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-06 17:41:16 +0100 |
| commit | 2067820714fea49be1692fa678754488ace8228b (patch) | |
| tree | 2decf412d953016a5b4853e77b04f94466a588dc /cli/tests/testdata | |
| parent | 46f2ff120587cd1cb7b11e66d41ad6ad46fb09a8 (diff) | |
feat(ext/websocket): server automatically handle ping/pong for incoming WebSocket (#13172)
Diffstat (limited to 'cli/tests/testdata')
| -rw-r--r-- | cli/tests/testdata/websocket_server_idletimeout.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/cli/tests/testdata/websocket_server_idletimeout.ts b/cli/tests/testdata/websocket_server_idletimeout.ts new file mode 100644 index 000000000..ffd88c3d3 --- /dev/null +++ b/cli/tests/testdata/websocket_server_idletimeout.ts @@ -0,0 +1,26 @@ +import { assertEquals } from "../../../test_util/std/testing/asserts.ts"; +import { deferred } from "../../../test_util/std/async/deferred.ts"; + +const errorDeferred = deferred(); +const closeDeferred = deferred(); + +const listener = Deno.listen({ port: 4502 }); +console.log("READY"); +const httpConn = Deno.serveHttp(await listener.accept()); +const { request, respondWith } = (await httpConn.nextRequest())!; +const { response, socket } = Deno.upgradeWebSocket(request, { + idleTimeout: 1, +}); +socket.onerror = (e) => { + assertEquals((e as ErrorEvent).message, "No response from ping frame."); + errorDeferred.resolve(); +}; +socket.onclose = (e) => { + assertEquals(e.reason, "No response from ping frame."); + closeDeferred.resolve(); +}; +await respondWith(response); + +await errorDeferred; +await closeDeferred; +listener.close(); |
