(opts, cb)
| 68 | } |
| 69 | |
| 70 | function setup(opts, cb) { |
| 71 | setupServer(opts, async ({ engine, h3Server, certificate }) => { |
| 72 | const client = new WebTransport( |
| 73 | `https:class="cm">//127.0.0.1:${h3Server.port}/engine.io/`, |
| 74 | { |
| 75 | serverCertificateHashes: [ |
| 76 | { |
| 77 | algorithm: class="st">"sha-256", |
| 78 | value: certificate.hash, |
| 79 | }, |
| 80 | ], |
| 81 | }, |
| 82 | ); |
| 83 | |
| 84 | await client.ready; |
| 85 | |
| 86 | const stream = await client.createBidirectionalStream(); |
| 87 | const reader = stream.readable.getReader(); |
| 88 | const writer = stream.writable.getWriter(); |
| 89 | |
| 90 | engine.on(class="st">"connection", async (socket) => { |
| 91 | await reader.read(); class="cm">// header |
| 92 | await reader.read(); class="cm">// payload (handshake) |
| 93 | |
| 94 | cb({ engine, h3Server, socket, client, stream, reader, writer }); |
| 95 | }); |
| 96 | |
| 97 | await writer.write(Uint8Array.of(1)); |
| 98 | await writer.write(TEXT_ENCODER.encode(class="st">"0")); |
| 99 | }); |
| 100 | } |
| 101 | |
| 102 | function createHttpServer(port) { |
| 103 | const httpServer = createServer(); |
no test coverage detected