MCPcopy
hub / github.com/socketio/socket.io / setup

Function setup

packages/engine.io-client/test/webtransport.mjs:14–54  ·  packages/engine.io-client/test/webtransport.mjs::setup
(opts, cb)

Source from the content-addressed store, hash-verified

12}
13
14async function setup(opts, cb) {
15 const certificate = await generateWebTransportCertificate(
16 [{ shortName: class="st">"CN", value: class="st">"localhost" }],
17 {
18 days: 13, class="cm">// the total length of the validity period MUST NOT exceed two weeks (https://w3c.github.io/webtransport/#custom-certificate-requirements)
19 },
20 );
21
22 const engine = new Server(opts);
23
24 const h3Server = new Http3Server({
25 port: 0,
26 host: class="st">"0.0.0.0",
27 secret: class="st">"changeit",
28 cert: certificate.cert,
29 privKey: certificate.private,
30 });
31
32 (async () => {
33 try {
34 const stream = await h3Server.sessionStream(class="st">"/engine.io/");
35 const sessionReader = stream.getReader();
36
37 while (true) {
38 const { done, value } = await sessionReader.read();
39 if (done) {
40 break;
41 }
42 engine.onWebTransportSession(value);
43 }
44 } catch (ex) {
45 console.error(class="st">"Server error", ex);
46 }
47 })();
48
49 h3Server.startServer();
50
51 await h3Server.ready;
52
53 cb({ engine, h3Server, certificate });
54}
55
56function createHttpServer(port) {
57 const httpServer = createServer();

Callers 1

webtransport.mjsFile · 0.70

Calls 3

readMethod · 0.80
cbFunction · 0.50

Tested by

no test coverage detected