| 810 | const port = (server.address as HttpServer.TcpAddress).port |
| 811 | |
| 812 | const connect = (perMessageDeflate: boolean) => |
| 813 | Effect.acquireRelease( |
| 814 | Effect.callback<NodeWS.WebSocket, Error>((resume) => { |
| 815 | const ws = new NodeWS.WebSocket(`ws://127.0.0.1:${port}/ws`, { perMessageDeflate }) |
| 816 | ws.on("open", () => resume(Effect.succeed(ws))) |
| 817 | ws.on("error", (error) => resume(Effect.fail(error))) |
| 818 | }), |
| 819 | (ws) => Effect.sync(() => ws.close()) |
| 820 | ) |
| 821 | |
| 822 | // layerTest configures websocket: { perMessageDeflate: true }, so the |
| 823 | // server accepts the extension when the client offers it... |