0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 17:34:47 -05:00
deno/cli/tests/testdata/run/websocket_server_idletimeout.ts
Bartek Iwańczuk 0ffcb46e0f
Revert "chore: update to std@0.207.0 (#21284)" (#21295)
This reverts commit 20aa0796e6.

`main` has been failing consistenly on `kv_undelivered_test` and
`serve_test` after this upgrade.
2023-11-22 04:13:56 +00:00

26 lines
830 B
TypeScript

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: 4509 });
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();