@libp2p/webtransport 3.0.3-eaac8943 → 3.0.4-4ef9c79c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/index.min.js +17 -14
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +106 -311
- package/dist/src/index.js.map +1 -1
- package/dist/src/stream.d.ts +3 -0
- package/dist/src/stream.d.ts.map +1 -0
- package/dist/src/stream.js +158 -0
- package/dist/src/stream.js.map +1 -0
- package/dist/src/utils/inert-duplex.d.ts +3 -0
- package/dist/src/utils/inert-duplex.d.ts.map +1 -0
- package/dist/src/utils/inert-duplex.js +20 -0
- package/dist/src/utils/inert-duplex.js.map +1 -0
- package/dist/src/utils/is-subset.d.ts +6 -0
- package/dist/src/utils/is-subset.d.ts.map +1 -0
- package/dist/src/utils/is-subset.js +12 -0
- package/dist/src/utils/is-subset.js.map +1 -0
- package/dist/src/utils/parse-multiaddr.d.ts +9 -0
- package/dist/src/utils/parse-multiaddr.d.ts.map +1 -0
- package/dist/src/utils/parse-multiaddr.js +77 -0
- package/dist/src/utils/parse-multiaddr.js.map +1 -0
- package/package.json +9 -8
- package/src/index.ts +127 -343
- package/src/stream.ts +183 -0
- package/src/utils/inert-duplex.ts +21 -0
- package/src/utils/is-subset.ts +12 -0
- package/src/utils/parse-multiaddr.ts +83 -0
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAuE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAuE,MAAM,6BAA6B,CAAA;AAQjI,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAKvD,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,YAAY,EAAE,GAAG,CAAA;CACtB;AAcD,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;CACf;AA+RD,wBAAgB,YAAY,CAAE,IAAI,GAAE,gBAAqB,GAAG,CAAC,UAAU,EAAE,sBAAsB,KAAK,SAAS,CAE5G"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,275 +1,12 @@
|
|
|
1
1
|
import { noise } from '@chainsafe/libp2p-noise';
|
|
2
2
|
import { symbol } from '@libp2p/interface/transport';
|
|
3
3
|
import { logger } from '@libp2p/logger';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import {} from '@multiformats/multiaddr';
|
|
5
|
+
import { webtransportBiDiStreamToStream } from './stream.js';
|
|
6
|
+
import { inertDuplex } from './utils/inert-duplex.js';
|
|
7
|
+
import { isSubset } from './utils/is-subset.js';
|
|
8
|
+
import { parseMultiaddr } from './utils/parse-multiaddr.js';
|
|
8
9
|
const log = logger('libp2p:webtransport');
|
|
9
|
-
// @ts-expect-error - Not easy to combine these types.
|
|
10
|
-
const multibaseDecoder = Object.values(bases).map(b => b.decoder).reduce((d, b) => d.or(b));
|
|
11
|
-
function decodeCerthashStr(s) {
|
|
12
|
-
return digest.decode(multibaseDecoder.decode(s));
|
|
13
|
-
}
|
|
14
|
-
// Duplex that does nothing. Needed to fulfill the interface
|
|
15
|
-
function inertDuplex() {
|
|
16
|
-
return {
|
|
17
|
-
source: {
|
|
18
|
-
[Symbol.asyncIterator]() {
|
|
19
|
-
return {
|
|
20
|
-
async next() {
|
|
21
|
-
// This will never resolve
|
|
22
|
-
return new Promise(() => { });
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
sink: async (source) => {
|
|
28
|
-
// This will never resolve
|
|
29
|
-
return new Promise(() => { });
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
async function webtransportBiDiStreamToStream(bidiStream, streamId, direction, activeStreams, onStreamEnd) {
|
|
34
|
-
const writer = bidiStream.writable.getWriter();
|
|
35
|
-
const reader = bidiStream.readable.getReader();
|
|
36
|
-
await writer.ready;
|
|
37
|
-
function cleanupStreamFromActiveStreams() {
|
|
38
|
-
const index = activeStreams.findIndex(s => s === stream);
|
|
39
|
-
if (index !== -1) {
|
|
40
|
-
activeStreams.splice(index, 1);
|
|
41
|
-
stream.timeline.close = Date.now();
|
|
42
|
-
onStreamEnd?.(stream);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
let writerClosed = false;
|
|
46
|
-
let readerClosed = false;
|
|
47
|
-
(async function () {
|
|
48
|
-
const err = await writer.closed.catch((err) => err);
|
|
49
|
-
if (err != null) {
|
|
50
|
-
const msg = err.message;
|
|
51
|
-
if (!(msg.includes('aborted by the remote server') || msg.includes('STOP_SENDING'))) {
|
|
52
|
-
log.error(`WebTransport writer closed unexpectedly: streamId=${streamId} err=${err.message}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
writerClosed = true;
|
|
56
|
-
if (writerClosed && readerClosed) {
|
|
57
|
-
cleanupStreamFromActiveStreams();
|
|
58
|
-
}
|
|
59
|
-
})().catch(() => {
|
|
60
|
-
log.error('WebTransport failed to cleanup closed stream');
|
|
61
|
-
});
|
|
62
|
-
(async function () {
|
|
63
|
-
const err = await reader.closed.catch((err) => err);
|
|
64
|
-
if (err != null) {
|
|
65
|
-
log.error(`WebTransport reader closed unexpectedly: streamId=${streamId} err=${err.message}`);
|
|
66
|
-
}
|
|
67
|
-
readerClosed = true;
|
|
68
|
-
if (writerClosed && readerClosed) {
|
|
69
|
-
cleanupStreamFromActiveStreams();
|
|
70
|
-
}
|
|
71
|
-
})().catch(() => {
|
|
72
|
-
log.error('WebTransport failed to cleanup closed stream');
|
|
73
|
-
});
|
|
74
|
-
let sinkSunk = false;
|
|
75
|
-
const stream = {
|
|
76
|
-
id: streamId,
|
|
77
|
-
status: 'open',
|
|
78
|
-
writeStatus: 'ready',
|
|
79
|
-
readStatus: 'ready',
|
|
80
|
-
abort(err) {
|
|
81
|
-
if (!writerClosed) {
|
|
82
|
-
writer.abort();
|
|
83
|
-
writerClosed = true;
|
|
84
|
-
}
|
|
85
|
-
stream.abort(err);
|
|
86
|
-
readerClosed = true;
|
|
87
|
-
this.status = 'aborted';
|
|
88
|
-
this.writeStatus = 'closed';
|
|
89
|
-
this.readStatus = 'closed';
|
|
90
|
-
this.timeline.reset =
|
|
91
|
-
this.timeline.close =
|
|
92
|
-
this.timeline.closeRead =
|
|
93
|
-
this.timeline.closeWrite = Date.now();
|
|
94
|
-
cleanupStreamFromActiveStreams();
|
|
95
|
-
},
|
|
96
|
-
async close(options) {
|
|
97
|
-
this.status = 'closing';
|
|
98
|
-
await Promise.all([
|
|
99
|
-
stream.closeRead(options),
|
|
100
|
-
stream.closeWrite(options)
|
|
101
|
-
]);
|
|
102
|
-
cleanupStreamFromActiveStreams();
|
|
103
|
-
this.status = 'closed';
|
|
104
|
-
this.timeline.close = Date.now();
|
|
105
|
-
},
|
|
106
|
-
async closeRead(options) {
|
|
107
|
-
if (!readerClosed) {
|
|
108
|
-
this.readStatus = 'closing';
|
|
109
|
-
try {
|
|
110
|
-
await reader.cancel();
|
|
111
|
-
}
|
|
112
|
-
catch (err) {
|
|
113
|
-
if (err.toString().includes('RESET_STREAM') === true) {
|
|
114
|
-
writerClosed = true;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
this.timeline.closeRead = Date.now();
|
|
118
|
-
this.readStatus = 'closed';
|
|
119
|
-
readerClosed = true;
|
|
120
|
-
}
|
|
121
|
-
if (writerClosed) {
|
|
122
|
-
cleanupStreamFromActiveStreams();
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
async closeWrite(options) {
|
|
126
|
-
if (!writerClosed) {
|
|
127
|
-
writerClosed = true;
|
|
128
|
-
this.writeStatus = 'closing';
|
|
129
|
-
try {
|
|
130
|
-
await writer.close();
|
|
131
|
-
}
|
|
132
|
-
catch (err) {
|
|
133
|
-
if (err.toString().includes('RESET_STREAM') === true) {
|
|
134
|
-
readerClosed = true;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
this.timeline.closeWrite = Date.now();
|
|
138
|
-
this.writeStatus = 'closed';
|
|
139
|
-
}
|
|
140
|
-
if (readerClosed) {
|
|
141
|
-
cleanupStreamFromActiveStreams();
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
direction,
|
|
145
|
-
timeline: { open: Date.now() },
|
|
146
|
-
metadata: {},
|
|
147
|
-
source: (async function* () {
|
|
148
|
-
while (true) {
|
|
149
|
-
const val = await reader.read();
|
|
150
|
-
if (val.done === true) {
|
|
151
|
-
readerClosed = true;
|
|
152
|
-
if (writerClosed) {
|
|
153
|
-
cleanupStreamFromActiveStreams();
|
|
154
|
-
}
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
yield new Uint8ArrayList(val.value);
|
|
158
|
-
}
|
|
159
|
-
})(),
|
|
160
|
-
sink: async function (source) {
|
|
161
|
-
if (sinkSunk) {
|
|
162
|
-
throw new Error('sink already called on stream');
|
|
163
|
-
}
|
|
164
|
-
sinkSunk = true;
|
|
165
|
-
try {
|
|
166
|
-
this.writeStatus = 'writing';
|
|
167
|
-
for await (const chunks of source) {
|
|
168
|
-
if (chunks instanceof Uint8Array) {
|
|
169
|
-
await writer.write(chunks);
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
for (const buf of chunks) {
|
|
173
|
-
await writer.write(buf);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
this.writeStatus = 'done';
|
|
178
|
-
}
|
|
179
|
-
finally {
|
|
180
|
-
this.timeline.closeWrite = Date.now();
|
|
181
|
-
this.writeStatus = 'closed';
|
|
182
|
-
await stream.closeWrite();
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
return stream;
|
|
187
|
-
}
|
|
188
|
-
function parseMultiaddr(ma) {
|
|
189
|
-
const parts = ma.stringTuples();
|
|
190
|
-
// This is simpler to have inline than extract into a separate function
|
|
191
|
-
// eslint-disable-next-line complexity
|
|
192
|
-
const { url, certhashes, remotePeer } = parts.reduce((state, [proto, value]) => {
|
|
193
|
-
switch (proto) {
|
|
194
|
-
case protocols('ip6').code:
|
|
195
|
-
// @ts-expect-error - ts error on switch fallthrough
|
|
196
|
-
case protocols('dns6').code:
|
|
197
|
-
if (value?.includes(':') === true) {
|
|
198
|
-
/**
|
|
199
|
-
* This resolves cases where `new globalThis.WebTransport` fails to construct because of an invalid URL being passed.
|
|
200
|
-
*
|
|
201
|
-
* `new URL('https://::1:4001/blah')` will throw a `TypeError: Failed to construct 'URL': Invalid URL`
|
|
202
|
-
* `new URL('https://[::1]:4001/blah')` is valid and will not.
|
|
203
|
-
*
|
|
204
|
-
* @see https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2
|
|
205
|
-
*/
|
|
206
|
-
value = `[${value}]`;
|
|
207
|
-
}
|
|
208
|
-
// eslint-disable-next-line no-fallthrough
|
|
209
|
-
case protocols('ip4').code:
|
|
210
|
-
case protocols('dns4').code:
|
|
211
|
-
if (state.seenHost || state.seenPort) {
|
|
212
|
-
throw new Error('Invalid multiaddr, saw host and already saw the host or port');
|
|
213
|
-
}
|
|
214
|
-
return {
|
|
215
|
-
...state,
|
|
216
|
-
url: `${state.url}${value ?? ''}`,
|
|
217
|
-
seenHost: true
|
|
218
|
-
};
|
|
219
|
-
case protocols('quic').code:
|
|
220
|
-
case protocols('quic-v1').code:
|
|
221
|
-
case protocols('webtransport').code:
|
|
222
|
-
if (!state.seenHost || !state.seenPort) {
|
|
223
|
-
throw new Error("Invalid multiaddr, Didn't see host and port, but saw quic/webtransport");
|
|
224
|
-
}
|
|
225
|
-
return state;
|
|
226
|
-
case protocols('udp').code:
|
|
227
|
-
if (state.seenPort) {
|
|
228
|
-
throw new Error('Invalid multiaddr, saw port but already saw the port');
|
|
229
|
-
}
|
|
230
|
-
return {
|
|
231
|
-
...state,
|
|
232
|
-
url: `${state.url}:${value ?? ''}`,
|
|
233
|
-
seenPort: true
|
|
234
|
-
};
|
|
235
|
-
case protocols('certhash').code:
|
|
236
|
-
if (!state.seenHost || !state.seenPort) {
|
|
237
|
-
throw new Error('Invalid multiaddr, saw the certhash before seeing the host and port');
|
|
238
|
-
}
|
|
239
|
-
return {
|
|
240
|
-
...state,
|
|
241
|
-
certhashes: state.certhashes.concat([decodeCerthashStr(value ?? '')])
|
|
242
|
-
};
|
|
243
|
-
case protocols('p2p').code:
|
|
244
|
-
return {
|
|
245
|
-
...state,
|
|
246
|
-
remotePeer: peerIdFromString(value ?? '')
|
|
247
|
-
};
|
|
248
|
-
default:
|
|
249
|
-
throw new Error(`unexpected component in multiaddr: ${proto} ${protocols(proto).name} ${value ?? ''} `);
|
|
250
|
-
}
|
|
251
|
-
},
|
|
252
|
-
// All webtransport urls are https
|
|
253
|
-
{ url: 'https://', seenHost: false, seenPort: false, certhashes: [] });
|
|
254
|
-
return { url, certhashes, remotePeer };
|
|
255
|
-
}
|
|
256
|
-
// Determines if `maybeSubset` is a subset of `set`. This means that all byte arrays in `maybeSubset` are present in `set`.
|
|
257
|
-
export function isSubset(set, maybeSubset) {
|
|
258
|
-
const intersection = maybeSubset.filter(byteArray => {
|
|
259
|
-
return Boolean(set.find((otherByteArray) => {
|
|
260
|
-
if (byteArray.length !== otherByteArray.length) {
|
|
261
|
-
return false;
|
|
262
|
-
}
|
|
263
|
-
for (let index = 0; index < byteArray.length; index++) {
|
|
264
|
-
if (otherByteArray[index] !== byteArray[index]) {
|
|
265
|
-
return false;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
return true;
|
|
269
|
-
}));
|
|
270
|
-
});
|
|
271
|
-
return (intersection.length === maybeSubset.length);
|
|
272
|
-
}
|
|
273
10
|
class WebTransportTransport {
|
|
274
11
|
components;
|
|
275
12
|
config;
|
|
@@ -282,6 +19,7 @@ class WebTransportTransport {
|
|
|
282
19
|
[Symbol.toStringTag] = '@libp2p/webtransport';
|
|
283
20
|
[symbol] = true;
|
|
284
21
|
async dial(ma, options) {
|
|
22
|
+
options?.signal?.throwIfAborted();
|
|
285
23
|
log('dialing %s', ma);
|
|
286
24
|
const localPeer = this.components.peerId;
|
|
287
25
|
if (localPeer === undefined) {
|
|
@@ -289,54 +27,108 @@ class WebTransportTransport {
|
|
|
289
27
|
}
|
|
290
28
|
options = options ?? {};
|
|
291
29
|
const { url, certhashes, remotePeer } = parseMultiaddr(ma);
|
|
292
|
-
if (certhashes.length === 0) {
|
|
293
|
-
throw new Error('Expected multiaddr to contain certhashes');
|
|
294
|
-
}
|
|
295
|
-
const wt = new WebTransport(`${url}/.well-known/libp2p-webtransport?type=noise`, {
|
|
296
|
-
serverCertificateHashes: certhashes.map(certhash => ({
|
|
297
|
-
algorithm: 'sha-256',
|
|
298
|
-
value: certhash.digest
|
|
299
|
-
}))
|
|
300
|
-
});
|
|
301
|
-
wt.closed.catch((error) => {
|
|
302
|
-
log.error('WebTransport transport closed due to:', error);
|
|
303
|
-
});
|
|
304
|
-
await wt.ready;
|
|
305
30
|
if (remotePeer == null) {
|
|
306
31
|
throw new Error('Need a target peerid');
|
|
307
32
|
}
|
|
308
|
-
if (
|
|
309
|
-
throw new Error('
|
|
33
|
+
if (certhashes.length === 0) {
|
|
34
|
+
throw new Error('Expected multiaddr to contain certhashes');
|
|
310
35
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
await wt.close();
|
|
315
|
-
},
|
|
316
|
-
abort: (err) => {
|
|
317
|
-
log('Aborting webtransport with err:', err);
|
|
318
|
-
wt.close();
|
|
319
|
-
},
|
|
320
|
-
remoteAddr: ma,
|
|
321
|
-
timeline: {
|
|
322
|
-
open: Date.now()
|
|
323
|
-
},
|
|
324
|
-
// This connection is never used directly since webtransport supports native streams.
|
|
325
|
-
...inertDuplex()
|
|
326
|
-
};
|
|
327
|
-
wt.closed.catch((err) => {
|
|
328
|
-
log.error('WebTransport connection closed:', err);
|
|
329
|
-
// This is how we specify the connection is closed and shouldn't be used.
|
|
330
|
-
maConn.timeline.close = Date.now();
|
|
331
|
-
});
|
|
36
|
+
let abortListener;
|
|
37
|
+
let maConn;
|
|
38
|
+
let cleanUpWTSession = () => { };
|
|
332
39
|
try {
|
|
40
|
+
let closed = false;
|
|
41
|
+
const wt = new WebTransport(`${url}/.well-known/libp2p-webtransport?type=noise`, {
|
|
42
|
+
serverCertificateHashes: certhashes.map(certhash => ({
|
|
43
|
+
algorithm: 'sha-256',
|
|
44
|
+
value: certhash.digest
|
|
45
|
+
}))
|
|
46
|
+
});
|
|
47
|
+
cleanUpWTSession = (closeInfo) => {
|
|
48
|
+
try {
|
|
49
|
+
if (maConn != null) {
|
|
50
|
+
if (maConn.timeline.close != null) {
|
|
51
|
+
// already closed session
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
// This is how we specify the connection is closed and shouldn't be used.
|
|
55
|
+
maConn.timeline.close = Date.now();
|
|
56
|
+
}
|
|
57
|
+
if (closed) {
|
|
58
|
+
// already closed session
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
wt.close(closeInfo);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
log.error('error closing wt session', err);
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
closed = true;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
// this promise resolves/throws when the session is closed or failed to init
|
|
71
|
+
wt.closed
|
|
72
|
+
.then(async () => {
|
|
73
|
+
await maConn?.close();
|
|
74
|
+
})
|
|
75
|
+
.catch((err) => {
|
|
76
|
+
log.error('error on remote wt session close', err);
|
|
77
|
+
maConn?.abort(err);
|
|
78
|
+
})
|
|
79
|
+
.finally(() => {
|
|
80
|
+
// if we never got as far as creating the maConn, just clean up the session
|
|
81
|
+
if (maConn == null) {
|
|
82
|
+
cleanUpWTSession();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
// if the dial is aborted before we are ready, close the WebTransport session
|
|
86
|
+
abortListener = () => {
|
|
87
|
+
if (abortListener != null) {
|
|
88
|
+
options.signal?.removeEventListener('abort', abortListener);
|
|
89
|
+
}
|
|
90
|
+
cleanUpWTSession();
|
|
91
|
+
};
|
|
92
|
+
options.signal?.addEventListener('abort', abortListener);
|
|
93
|
+
await wt.ready;
|
|
94
|
+
if (!await this.authenticateWebTransport(wt, localPeer, remotePeer, certhashes)) {
|
|
95
|
+
throw new Error('Failed to authenticate webtransport');
|
|
96
|
+
}
|
|
97
|
+
maConn = {
|
|
98
|
+
close: async (options) => {
|
|
99
|
+
log('Closing webtransport');
|
|
100
|
+
cleanUpWTSession();
|
|
101
|
+
},
|
|
102
|
+
abort: (err) => {
|
|
103
|
+
log('aborting webtransport due to passed err', err);
|
|
104
|
+
cleanUpWTSession({
|
|
105
|
+
closeCode: 0,
|
|
106
|
+
reason: err.message
|
|
107
|
+
});
|
|
108
|
+
},
|
|
109
|
+
remoteAddr: ma,
|
|
110
|
+
timeline: {
|
|
111
|
+
open: Date.now()
|
|
112
|
+
},
|
|
113
|
+
// This connection is never used directly since webtransport supports native streams.
|
|
114
|
+
...inertDuplex()
|
|
115
|
+
};
|
|
333
116
|
options?.signal?.throwIfAborted();
|
|
117
|
+
return await options.upgrader.upgradeOutbound(maConn, { skipEncryption: true, muxerFactory: this.webtransportMuxer(wt, cleanUpWTSession), skipProtection: true });
|
|
334
118
|
}
|
|
335
|
-
catch (
|
|
336
|
-
|
|
337
|
-
|
|
119
|
+
catch (err) {
|
|
120
|
+
log.error('caught wt session err', err);
|
|
121
|
+
cleanUpWTSession({
|
|
122
|
+
closeCode: 0,
|
|
123
|
+
reason: err.message
|
|
124
|
+
});
|
|
125
|
+
throw err;
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
if (abortListener != null) {
|
|
129
|
+
options.signal?.removeEventListener('abort', abortListener);
|
|
130
|
+
}
|
|
338
131
|
}
|
|
339
|
-
return options.upgrader.upgradeOutbound(maConn, { skipEncryption: true, muxerFactory: this.webtransportMuxer(wt), skipProtection: true });
|
|
340
132
|
}
|
|
341
133
|
async authenticateWebTransport(wt, localPeer, remotePeer, certhashes) {
|
|
342
134
|
const stream = await wt.createBidirectionalStream();
|
|
@@ -376,7 +168,7 @@ class WebTransportTransport {
|
|
|
376
168
|
}
|
|
377
169
|
return true;
|
|
378
170
|
}
|
|
379
|
-
webtransportMuxer(wt) {
|
|
171
|
+
webtransportMuxer(wt, cleanUpWTSession) {
|
|
380
172
|
let streamIDCounter = 0;
|
|
381
173
|
const config = this.config;
|
|
382
174
|
return {
|
|
@@ -428,11 +220,14 @@ class WebTransportTransport {
|
|
|
428
220
|
*/
|
|
429
221
|
close: async (options) => {
|
|
430
222
|
log('Closing webtransport muxer');
|
|
431
|
-
|
|
223
|
+
cleanUpWTSession();
|
|
432
224
|
},
|
|
433
225
|
abort: (err) => {
|
|
434
226
|
log('Aborting webtransport muxer with err:', err);
|
|
435
|
-
|
|
227
|
+
cleanUpWTSession({
|
|
228
|
+
closeCode: 0,
|
|
229
|
+
reason: err.message
|
|
230
|
+
});
|
|
436
231
|
},
|
|
437
232
|
// This stream muxer is webtransport native. Therefore it doesn't plug in with any other duplex.
|
|
438
233
|
...inertDuplex()
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Direction, Stream } from '@libp2p/interface/connection';
|
|
2
|
+
export declare function webtransportBiDiStreamToStream(bidiStream: any, streamId: string, direction: Direction, activeStreams: Stream[], onStreamEnd: undefined | ((s: Stream) => void)): Promise<Stream>;
|
|
3
|
+
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAKrE,wBAAsB,8BAA8B,CAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CA8KvM"}
|