@libp2p/http-utils 1.0.2 → 2.0.0

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.
@@ -79,7 +79,7 @@ export declare function getServerUpgradeHeaders(headers: Headers | Record<string
79
79
  /**
80
80
  * Reads HTTP headers from an incoming stream
81
81
  */
82
- export declare function readHeaders(stream: Stream): Promise<HeaderInfo>;
82
+ export declare function readHeaders(stream: Stream, options?: AbortOptions): Promise<HeaderInfo>;
83
83
  /**
84
84
  * Parsed from the incoming HTTP message
85
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -6,14 +6,15 @@
6
6
  import { HTTPParser } from '@achingbrain/http-parser-js';
7
7
  import { InvalidParametersError, isPeerId, ProtocolError } from '@libp2p/interface';
8
8
  import { peerIdFromString } from '@libp2p/peer-id';
9
- import { isMultiaddr, multiaddr } from '@multiformats/multiaddr';
9
+ import { getNetConfig } from '@libp2p/utils';
10
+ import { CODE_P2P, isMultiaddr, multiaddr } from '@multiformats/multiaddr';
10
11
  import { multiaddrToUri } from '@multiformats/multiaddr-to-uri';
11
12
  import { uriToMultiaddr } from '@multiformats/uri-to-multiaddr';
12
- import { queuelessPushable } from 'it-queueless-pushable';
13
13
  import itToBrowserReadableStream from 'it-to-browser-readablestream';
14
14
  import { base36 } from 'multiformats/bases/base36';
15
15
  import { base64pad } from 'multiformats/bases/base64';
16
16
  import { sha1 } from 'multiformats/hashes/sha1';
17
+ import { raceEvent } from 'race-event';
17
18
  import { Uint8ArrayList } from 'uint8arraylist';
18
19
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
19
20
  import { Request } from './request.js';
@@ -44,9 +45,9 @@ export function streamToRequest(info, stream) {
44
45
  headers: info.headers
45
46
  };
46
47
  if ((init.method !== 'GET' || info.upgrade) && init.method !== 'HEAD') {
47
- let source = stream.source;
48
+ let source = stream;
48
49
  if (!info.upgrade) {
49
- source = takeBytes(stream.source, info.headers.get('content-length'));
50
+ source = takeBytes(stream, info.headers.get('content-length'));
50
51
  }
51
52
  init.body = itToBrowserReadableStream(source);
52
53
  // @ts-expect-error this is required by NodeJS despite being the only reasonable option https://fetch.spec.whatwg.org/#requestinit
@@ -55,34 +56,31 @@ export function streamToRequest(info, stream) {
55
56
  return new Request(normalizeUrl(info).toString(), init);
56
57
  }
57
58
  export async function responseToStream(res, stream) {
58
- const pushable = queuelessPushable();
59
- stream.sink(pushable)
60
- .catch(err => {
61
- stream.abort(err);
62
- });
63
- await pushable.push(uint8ArrayFromString([
59
+ stream.send(uint8ArrayFromString([
64
60
  `HTTP/1.1 ${res.status} ${res.statusText}`,
65
61
  ...writeHeaders(res.headers),
66
62
  '',
67
63
  ''
68
64
  ].join('\r\n')));
69
65
  if (res.body == null) {
70
- await pushable.end();
66
+ await stream.close().catch(err => {
67
+ stream.abort(err);
68
+ });
71
69
  return;
72
70
  }
73
71
  const reader = res.body.getReader();
74
- let result = await reader.read();
75
72
  while (true) {
73
+ const result = await reader.read();
76
74
  if (result.value != null) {
77
- await pushable.push(result.value);
75
+ if (!stream.send(result.value)) {
76
+ await stream.onDrain();
77
+ }
78
78
  }
79
79
  if (result.done) {
80
80
  break;
81
81
  }
82
- result = await reader.read();
83
82
  }
84
- await pushable.end();
85
- await stream.closeWrite()
83
+ await stream.close()
86
84
  .catch(err => {
87
85
  stream.abort(err);
88
86
  });
@@ -235,11 +233,14 @@ export function getHost(addresses, headers) {
235
233
  // try to use remote PeerId as domain
236
234
  if (!isValidHost(host) && Array.isArray(addresses)) {
237
235
  for (const address of addresses) {
238
- const peerStr = address.getPeerId();
236
+ const peerStr = address.getComponents()
237
+ .findLast(c => c.code === CODE_P2P)?.value;
239
238
  // try to extract port from multiaddr if it is available
240
239
  try {
241
- const options = address.toOptions();
242
- port = options.port;
240
+ const config = getNetConfig(address);
241
+ if (config.port != null) {
242
+ port = config.port;
243
+ }
243
244
  }
244
245
  catch { }
245
246
  if (peerStr != null) {
@@ -254,8 +255,10 @@ export function getHost(addresses, headers) {
254
255
  if (!isValidHost(host) && Array.isArray(addresses)) {
255
256
  for (const address of addresses) {
256
257
  try {
257
- const options = address.toOptions();
258
- host = options.host;
258
+ const config = getNetConfig(address);
259
+ if (config.host != null) {
260
+ host = config.host;
261
+ }
259
262
  break;
260
263
  }
261
264
  catch { }
@@ -360,50 +363,49 @@ export async function getServerUpgradeHeaders(headers) {
360
363
  /**
361
364
  * Reads HTTP headers from an incoming stream
362
365
  */
363
- export async function readHeaders(stream) {
364
- return new Promise((resolve, reject) => {
365
- const parser = new HTTPParser('REQUEST');
366
- const source = queuelessPushable();
367
- const earlyData = new Uint8ArrayList();
368
- let headersComplete = false;
369
- parser[HTTPParser.kOnHeadersComplete] = (info) => {
370
- headersComplete = true;
371
- const headers = new Headers();
372
- // set incoming headers
373
- for (let i = 0; i < info.headers.length; i += 2) {
374
- headers.set(info.headers[i].toLowerCase(), info.headers[i + 1]);
375
- }
376
- resolve({
377
- ...info,
378
- headers,
379
- raw: earlyData,
380
- method: HTTPParser.methods[info.method]
381
- });
366
+ export async function readHeaders(stream, options) {
367
+ const parser = new HTTPParser('REQUEST');
368
+ const earlyData = new Uint8ArrayList();
369
+ let headerInfo;
370
+ parser[HTTPParser.kOnHeadersComplete] = (info) => {
371
+ const headers = new Headers();
372
+ // set incoming headers
373
+ for (let i = 0; i < info.headers.length; i += 2) {
374
+ headers.set(info.headers[i].toLowerCase(), info.headers[i + 1]);
375
+ }
376
+ headerInfo = {
377
+ ...info,
378
+ headers,
379
+ raw: earlyData,
380
+ method: HTTPParser.methods[info.method]
382
381
  };
383
- // replace source with request body
384
- const streamSource = stream.source;
385
- stream.source = source;
386
- Promise.resolve().then(async () => {
387
- for await (const chunk of streamSource) {
388
- // only use the message parser until the headers have been read
389
- if (!headersComplete) {
390
- earlyData.append(chunk);
391
- parser.execute(chunk.subarray());
392
- }
393
- else {
394
- await source.push(new Uint8ArrayList(chunk));
395
- }
382
+ };
383
+ try {
384
+ while (true) {
385
+ const { data } = await raceEvent(stream, 'message', options?.signal);
386
+ const buf = data.subarray();
387
+ const read = parser.execute(buf, 0, buf.byteLength);
388
+ if (read instanceof Error) {
389
+ throw read;
396
390
  }
397
- await source.end();
398
- })
399
- .catch((err) => {
400
- stream.abort(err);
401
- reject(err);
402
- })
403
- .finally(() => {
404
- parser.finish();
405
- });
406
- });
391
+ // collect raw header bytes
392
+ earlyData.append(buf.subarray(0, read));
393
+ if (read < buf.byteLength) {
394
+ // reading headers finished and we have early data
395
+ stream.push(buf.subarray(read));
396
+ }
397
+ if (headerInfo != null) {
398
+ return headerInfo;
399
+ }
400
+ }
401
+ }
402
+ catch (err) {
403
+ stream.abort(err);
404
+ }
405
+ finally {
406
+ parser.finish();
407
+ }
408
+ throw new Error('Failed to read header info from request');
407
409
  }
408
410
  export * from './request.js';
409
411
  export * from './response.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,yBAAyB,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;AAmCrD,MAAM,UAAU,KAAK,CAAE,QAA2B,EAAE,OAAgB;IAClE,IAAI,QAAQ,YAAY,GAAG,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACvC,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAE5C,OAAO,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAA;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAE,GAAwC;IACpE,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;IACnE,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAAE,IAAgB,EAAE,MAAc;IAC/D,MAAM,IAAI,GAAgB;QACxB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAA;IAED,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACtE,IAAI,MAAM,GAAwB,MAAM,CAAC,MAAM,CAAA;QAE/C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAa,MAAM,CAAC,CAAA;QACzD,kIAAkI;QAClI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAE,GAAa,EAAE,MAAc;IACnE,MAAM,QAAQ,GAAG,iBAAiB,EAAc,CAAA;IAChD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;SAClB,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;IAEJ,MAAM,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACvC,YAAY,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE;QAC1C,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QAC5B,EAAE;QACF,EAAE;KACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAEhB,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;QACpB,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IACnC,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAEhC,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAK;QACP,CAAC;QAED,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;IAEpB,MAAM,MAAM,CAAC,UAAU,EAAE;SACtB,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAC,CAAA;AACN,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;IACrD,wBAAwB;IACxB,mBAAmB;IACnB,EAAE;IACF,EAAE;CACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAEf,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAC;IAC9C,0BAA0B;IAC1B,mBAAmB;IACnB,EAAE;IACF,EAAE;CACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAEf,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;IACxD,oCAAoC;IACpC,mBAAmB;IACnB,EAAE;IACF,EAAE;CACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAEf,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;IACxD,8BAA8B;IAC9B,mBAAmB;IACnB,EAAE;IACF,EAAE;CACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAEf,MAAM,UAAU,YAAY,CAAE,OAAgB;IAC5C,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,SAAU,CAAC,CAAC,SAAS,CAAE,MAAsC,EAAE,KAA8B;IAChG,KAAK,GAAG,QAAQ,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC,CAAA;IAElC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC/B,KAAK,IAAI,GAAG,CAAC,UAAU,CAAA;QAEvB,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YAClB,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,CAAA;YACpC,OAAM;QACR,CAAC;QAED,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEpB,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,OAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAE,QAAyD,EAAE,IAAa;IAClG,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,QAAQ,GAAG,SAAS,CAAC,QAAQ,QAAQ,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,QAAQ,YAAY,GAAG,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YACvC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvB,CAAC;IAED,2DAA2D;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,EAAE,CAAA;YAErC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,CAAC,CAAA;gBAC9B,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAA;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,IAAI,QAAQ,YAAY,GAAG,EAAE,CAAC;QAC5B,OAAO,IAAI,GAAG,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAClG,CAAC;AAED,MAAM,UAAU,UAAU,CAAE,OAAoB,EAAE;IAChD,IAAI,IAAI,CAAC,OAAO,YAAY,OAAO,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAExC,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,SAAS,CAAE,MAAc,EAAE,UAAuB,EAAE;IAClE,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAA;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACnC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACT,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,WAAW,CAAE,IAAa;IACjC,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAA;AACpC,CAAC;AAED,sCAAsC;AACtC,MAAM,UAAU,OAAO,CAAE,SAA4B,EAAE,OAAgB;IACrE,IAAI,IAAwB,CAAA;IAC5B,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,QAAQ,GAAG,OAAO,CAAA;IAEtB,IAAI,SAAS,YAAY,GAAG,EAAE,CAAC;QAC7B,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAA;QACzB,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACnC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;IAC/B,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAA;IACzC,CAAC;IAED,2CAA2C;IAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAA;YAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;YAEvF,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,GAAG,QAAQ,CAAA;gBACf,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAA;YAEnC,wDAAwD;YACxD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAA;gBACnC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;YACrB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAEV,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;gBACxC,kCAAkC;gBAClC,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACtC,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAA;gBAEnC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;gBACnB,MAAK;YACP,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,2BAA2B;QAC3B,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACxC,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;QAC1B,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;QAC1B,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,sBAAsB,CAAC,qIAAqI,CAAC,CAAA;AACzK,CAAC;AAED,MAAM,UAAU,aAAa,CAAE,SAAsB;IACnD,oDAAoD;IACpD,IAAI,QAAQ,GAAG,GAAG,CAAA;IAClB,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAC7B,OAAO,SAAS,CACd,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACpC,IAAI,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACnC,QAAQ,GAAG,SAAS,CAAC,KAAK,IAAI,GAAG,CAAA;gBACjC,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO;QACL,QAAQ;QACR,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAE,MAA0B,EAAE,aAAa,GAAG,CAAC,KAAK,CAAC;IAClF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAE,GAA4D;IACxF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAA;IAE1B,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IAEhC,OAAO,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,cAAc,CAAE,GAAQ;IAC/B,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAA;IAE5B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,CAAA;IAC1B,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QAC1D,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,sBAAsB,CAAC,qBAAqB,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAE,MAAc,EAAE,OAAgB;IAClE,OAAO,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,WAAW,CAAA;AAC5I,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAE,OAAgE,EAAE,GAAW;IAC1G,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,CAAA;IACtC,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAE,OAAgE;IAC7G,IAAI,oBAAoB,CAAC,OAAO,EAAE,uBAAuB,CAAC,KAAK,IAAI,EAAE,CAAC;QACpE,MAAM,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;IAE1E,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,aAAa,CAAC,2BAA2B,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,eAAe,sCAAsC,CAAA;IACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3D,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CACtC,IAAI,CAAC,MAAM,CACZ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAEd,OAAO,IAAI,OAAO,CAAC;QACjB,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,SAAS;QACrB,sBAAsB,EAAE,eAAe;KACxC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,MAAc;IAC/C,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,iBAAiB,EAAkB,CAAA;QAClD,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAA;QACtC,IAAI,eAAe,GAAG,KAAK,CAAA;QAE3B,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;YAC/C,eAAe,GAAG,IAAI,CAAA;YACtB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;YAE7B,uBAAuB;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACjE,CAAC;YAED,OAAO,CAAC;gBACN,GAAG,IAAI;gBACP,OAAO;gBACP,GAAG,EAAE,SAAS;gBACd,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;aACxC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,mCAAmC;QACnC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;QAClC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;QAEtB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAChC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACvC,+DAA+D;gBAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;YAED,MAAM,MAAM,CAAC,GAAG,EAAE,CAAA;QACpB,CAAC,CAAC;aACC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjB,MAAM,CAAC,GAAG,CAAC,CAAA;QACb,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,MAAM,CAAC,MAAM,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACJ,CAAC;AAkBD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,14 @@ export declare class Libp2pSocket extends Duplex {
11
11
  bytesWritten: number;
12
12
  timeout: number;
13
13
  allowHalfOpen: boolean;
14
- constructor();
15
- setStream(stream: Stream, connection: Connection): void;
14
+ constructor(stream: Stream, connection: Connection);
15
+ constructor(initStream: Promise<{
16
+ stream: Stream;
17
+ connection: Connection;
18
+ }>);
19
+ private gotStream;
20
+ getStream(cb: (stream: Stream) => void): void;
21
+ destroy(error?: Error): this;
16
22
  _write(chunk: Uint8Array, encoding: string, cb: (err?: Error) => void): void;
17
23
  _read(size: number): void;
18
24
  _destroy(err: Error, cb: (err?: Error) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"stream-to-socket.d.ts","sourceRoot":"","sources":["../../src/stream-to-socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAIxF,qBAAa,YAAa,SAAQ,MAAM;;IACtC,SAAgB,kCAAkC,UAAK;IACvD,SAAgB,UAAU,SAAQ;IAClC,SAAgB,OAAO,SAAQ;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,SAAc;IACrB,aAAa,EAAE,OAAO,CAAA;;IAc7B,SAAS,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAMxD,MAAM,CAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAY7E,KAAK,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IA+B1B,QAAQ,CAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAkBtD,MAAM,CAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAaxC,IAAW,UAAU,IAAK,gBAAgB,CAczC;IAED,IAAW,UAAU,IAAK,MAAM,CAE/B;IAED,WAAW,IAAK,IAAI;IAKpB,OAAO,CAAE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAC3E,OAAO,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAC3E,OAAO,CAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAC7D,OAAO,CAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAM7D,WAAW,CAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI;IAK7C,eAAe,IAAK,IAAI;IAOxB,UAAU,CAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAYzD,UAAU,CAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAMpC,YAAY,CAAE,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAM5D,OAAO,IAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAM7C,KAAK,IAAK,IAAI;IAMd,GAAG,IAAK,IAAI;IAMZ,KAAK,CAAE,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO;IACxE,KAAK,CAAE,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO;CAIjG;AAED,wBAAgB,cAAc,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAK9E"}
1
+ {"version":3,"file":"stream-to-socket.d.ts","sourceRoot":"","sources":["../../src/stream-to-socket.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { Duplex } from 'node:stream';
2
- import { byteStream } from 'it-byte-stream';
3
2
  const MAX_TIMEOUT = 2_147_483_647;
4
3
  export class Libp2pSocket extends Duplex {
5
4
  autoSelectFamilyAttemptedAddresses = [];
@@ -10,82 +9,112 @@ export class Libp2pSocket extends Duplex {
10
9
  bytesWritten;
11
10
  timeout = MAX_TIMEOUT;
12
11
  allowHalfOpen;
12
+ #initStream;
13
13
  #stream;
14
- #bytes;
15
- constructor() {
14
+ #log;
15
+ constructor(...args) {
16
16
  super();
17
17
  this.bytesRead = 0;
18
18
  this.bytesWritten = 0;
19
19
  this.allowHalfOpen = true;
20
20
  this.remoteAddress = '';
21
+ if (args.length === 2) {
22
+ this.gotStream({ stream: args[0], connection: args[1] });
23
+ this.#initStream = Promise.resolve(args[0]);
24
+ }
25
+ else {
26
+ this.#initStream = args[0].then(this.gotStream.bind(this), (err) => {
27
+ this.emit('error', err);
28
+ throw err;
29
+ });
30
+ }
21
31
  }
22
- setStream(stream, connection) {
23
- this.#bytes = byteStream(stream);
24
- this.#stream = stream;
32
+ gotStream({ stream, connection }) {
33
+ this.#log = stream.log.newScope('libp2p-socket');
25
34
  this.remoteAddress = connection.remoteAddr.toString();
35
+ stream.addEventListener('message', (evt) => {
36
+ this.push(evt.data.subarray());
37
+ });
38
+ stream.addEventListener('close', (evt) => {
39
+ if (evt.error != null) {
40
+ this.destroy(evt.error);
41
+ }
42
+ else {
43
+ this.push(null);
44
+ }
45
+ });
46
+ stream.pause();
47
+ this.emit('connect');
48
+ return stream;
49
+ }
50
+ getStream(cb) {
51
+ if (this.#stream != null) {
52
+ cb(this.#stream);
53
+ return;
54
+ }
55
+ this.#initStream.then(stream => {
56
+ this.#stream = stream;
57
+ cb(stream);
58
+ }, (err) => {
59
+ this.emit('error', err);
60
+ });
61
+ }
62
+ destroy(error) {
63
+ return super.destroy(error);
26
64
  }
27
65
  _write(chunk, encoding, cb) {
28
- this.#stream?.log('write %d bytes', chunk.byteLength);
66
+ this.#log?.('write %d bytes', chunk.byteLength);
29
67
  this.bytesWritten += chunk.byteLength;
30
- this.#bytes?.write(chunk)
31
- .then(() => {
32
- cb();
33
- }, err => {
34
- cb(err);
68
+ this.getStream(stream => {
69
+ if (!stream.send(chunk)) {
70
+ stream.onDrain()
71
+ .then(() => {
72
+ cb();
73
+ }, (err) => {
74
+ cb(err);
75
+ });
76
+ }
77
+ else {
78
+ cb();
79
+ }
35
80
  });
36
81
  }
37
82
  _read(size) {
38
- this.#stream?.log('asked to read %d bytes', size);
39
- void Promise.resolve().then(async () => {
40
- try {
41
- while (true) {
42
- const chunk = await this.#bytes?.read({
43
- signal: AbortSignal.timeout(this.timeout)
44
- });
45
- if (chunk == null) {
46
- this.#stream?.log('socket readable end closed');
47
- this.push(null);
48
- return;
49
- }
50
- this.bytesRead += chunk.byteLength;
51
- this.#stream?.log('socket read %d bytes', chunk.byteLength);
52
- const more = this.push(chunk.subarray());
53
- if (!more) {
54
- break;
55
- }
56
- }
83
+ this.#log?.('asked to read %d bytes', size);
84
+ this.getStream(stream => {
85
+ stream.resume();
86
+ });
87
+ }
88
+ _destroy(err, cb) {
89
+ this.#log?.('destroy with %d bytes buffered - %e', this.bufferSize, err);
90
+ this.getStream(stream => {
91
+ if (err != null) {
92
+ stream.abort(err);
93
+ cb();
57
94
  }
58
- catch (err) {
59
- this.destroy(err);
95
+ else {
96
+ stream.close()
97
+ .then(() => {
98
+ cb();
99
+ })
100
+ .catch(err => {
101
+ stream.abort(err);
102
+ cb(err);
103
+ });
60
104
  }
61
105
  });
62
106
  }
63
- _destroy(err, cb) {
64
- this.#stream?.log('destroy with %d bytes buffered - %e', this.bufferSize, err);
65
- if (err != null) {
66
- this.#bytes?.unwrap().abort(err);
67
- cb();
68
- }
69
- else {
70
- this.#bytes?.unwrap().close()
107
+ _final(cb) {
108
+ this.#log?.('final');
109
+ this.getStream(stream => {
110
+ stream.close()
71
111
  .then(() => {
72
112
  cb();
73
113
  })
74
114
  .catch(err => {
75
- this.#stream?.abort(err);
115
+ stream.abort(err);
76
116
  cb(err);
77
117
  });
78
- }
79
- }
80
- _final(cb) {
81
- this.#stream?.log('final');
82
- this.#bytes?.unwrap().closeWrite()
83
- .then(() => {
84
- cb();
85
- })
86
- .catch(err => {
87
- this.#bytes?.unwrap().abort(err);
88
- cb(err);
89
118
  });
90
119
  }
91
120
  get readyState() {
@@ -104,24 +133,26 @@ export class Libp2pSocket extends Duplex {
104
133
  return this.writableLength;
105
134
  }
106
135
  destroySoon() {
107
- this.#stream?.log('destroySoon with %d bytes buffered', this.bufferSize);
136
+ this.#log?.('destroySoon with %d bytes buffered', this.bufferSize);
108
137
  this.destroy();
109
138
  }
110
139
  connect(...args) {
111
- this.#stream?.log('connect %o', args);
140
+ this.#log?.('connect %o', args);
112
141
  return this;
113
142
  }
114
143
  setEncoding(encoding) {
115
- this.#stream?.log('setEncoding %s', encoding);
144
+ this.#log?.('setEncoding %s', encoding);
116
145
  return this;
117
146
  }
118
147
  resetAndDestroy() {
119
- this.#stream?.log('resetAndDestroy');
120
- this.#stream?.abort(new Error('Libp2pSocket.resetAndDestroy'));
148
+ this.#log?.('resetAndDestroy');
149
+ this.getStream(stream => {
150
+ stream.abort(new Error('Libp2pSocket.resetAndDestroy'));
151
+ });
121
152
  return this;
122
153
  }
123
154
  setTimeout(timeout, callback) {
124
- this.#stream?.log('setTimeout %d', timeout);
155
+ this.#log?.('setTimeout %d', timeout);
125
156
  if (callback != null) {
126
157
  this.addListener('timeout', callback);
127
158
  }
@@ -129,23 +160,23 @@ export class Libp2pSocket extends Duplex {
129
160
  return this;
130
161
  }
131
162
  setNoDelay(noDelay) {
132
- this.#stream?.log('setNoDelay %b', noDelay);
163
+ this.#log?.('setNoDelay %b', noDelay);
133
164
  return this;
134
165
  }
135
166
  setKeepAlive(enable, initialDelay) {
136
- this.#stream?.log('setKeepAlive %b %d', enable, initialDelay);
167
+ this.#log?.('setKeepAlive %b %d', enable, initialDelay);
137
168
  return this;
138
169
  }
139
170
  address() {
140
- this.#stream?.log('address');
171
+ this.#log?.('address');
141
172
  return {};
142
173
  }
143
174
  unref() {
144
- this.#stream?.log('unref');
175
+ this.#log?.('unref');
145
176
  return this;
146
177
  }
147
178
  ref() {
148
- this.#stream?.log('ref');
179
+ this.#log?.('ref');
149
180
  return this;
150
181
  }
151
182
  write(chunk, encoding, cb) {
@@ -153,8 +184,6 @@ export class Libp2pSocket extends Duplex {
153
184
  }
154
185
  }
155
186
  export function streamToSocket(stream, connection) {
156
- const socket = new Libp2pSocket();
157
- socket.setStream(stream, connection);
158
- return socket;
187
+ return new Libp2pSocket(stream, connection);
159
188
  }
160
189
  //# sourceMappingURL=stream-to-socket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-to-socket.js","sourceRoot":"","sources":["../../src/stream-to-socket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-to-socket.js","sourceRoot":"","sources":["../../src/stream-to-socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIpC,MAAM,WAAW,GAAG,aAAa,CAAA;AAEjC,MAAM,OAAO,YAAa,SAAQ,MAAM;IACtB,kCAAkC,GAAG,EAAE,CAAA;IACvC,UAAU,GAAG,KAAK,CAAA;IAClB,OAAO,GAAG,KAAK,CAAA;IACxB,aAAa,CAAQ;IACrB,SAAS,CAAQ;IACjB,YAAY,CAAQ;IACpB,OAAO,GAAG,WAAW,CAAA;IACrB,aAAa,CAAS;IAE7B,WAAW,CAAiB;IAC5B,OAAO,CAAS;IAEhB,IAAI,CAAS;IAIb,YAAa,GAAG,IAAW;QACzB,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;QAEvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACxD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACtE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBACvB,MAAM,GAAG,CAAA;YACX,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEO,SAAS,CAAE,EAAE,MAAM,EAAE,UAAU,EAA8C;QACnF,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;QAChD,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;QAErD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvC,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,KAAK,EAAE,CAAA;QAEd,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEpB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,SAAS,CAAE,EAA4B;QACrC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAChB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;YACrB,EAAE,CAAC,MAAM,CAAC,CAAA;QACZ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,CAAE,KAAa;QACpB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,CAAE,KAAiB,EAAE,QAAgB,EAAE,EAAyB;QACpE,IAAI,CAAC,IAAI,EAAE,CAAC,gBAAgB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAE/C,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,UAAU,CAAA;QAErC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,EAAE;qBACb,IAAI,CAAC,GAAG,EAAE;oBACT,EAAE,EAAE,CAAA;gBACN,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;oBACT,EAAE,CAAC,GAAG,CAAC,CAAA;gBACT,CAAC,CAAC,CAAA;YACN,CAAC;iBAAM,CAAC;gBACN,EAAE,EAAE,CAAA;YACN,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAE,IAAY;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACtB,MAAM,CAAC,MAAM,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAE,GAAU,EAAE,EAAyB;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC,qCAAqC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;QAExE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACtB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjB,EAAE,EAAE,CAAA;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,EAAE;qBACX,IAAI,CAAC,GAAG,EAAE;oBACT,EAAE,EAAE,CAAA;gBACN,CAAC,CAAC;qBACD,KAAK,CAAC,GAAG,CAAC,EAAE;oBACX,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBACjB,EAAE,CAAC,GAAG,CAAC,CAAA;gBACT,CAAC,CAAC,CAAA;YACN,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAE,EAAyB;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;QAEpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACtB,MAAM,CAAC,KAAK,EAAE;iBACX,IAAI,CAAC,GAAG,EAAE;gBACT,EAAE,EAAE,CAAA;YACN,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACjB,EAAE,CAAC,GAAG,CAAC,CAAA;YACT,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAW,UAAU;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;YACtF,OAAO,UAAU,CAAA;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YACpF,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,EAAE,CAAC,oCAAoC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAClE,IAAI,CAAC,OAAO,EAAE,CAAA;IAChB,CAAC;IAMD,OAAO,CAAE,GAAG,IAAW;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,WAAW,CAAE,QAAyB;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAA;QAE9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAE,OAAe,EAAE,QAAqB;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAErC,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAA;QAEpD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAE,OAAiB;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;QAErC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAE,MAAgB,EAAE,YAAqB;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;QAEvD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAA;QAEtB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;QAEpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG;QACD,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;QAElB,OAAO,IAAI,CAAA;IACb,CAAC;IAID,KAAK,CAAE,KAAU,EAAE,QAAc,EAAE,EAAQ;QACzC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAE,MAAc,EAAE,UAAsB;IACpE,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/http-utils",
3
- "version": "1.0.2",
3
+ "version": "2.0.0",
4
4
  "description": "Shared utils and common code for HTTP modules",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-http/tree/main/packages/http-utils#readme",
@@ -139,21 +139,21 @@
139
139
  },
140
140
  "dependencies": {
141
141
  "@achingbrain/http-parser-js": "^0.5.9",
142
- "@libp2p/interface": "^2.10.2",
143
- "@libp2p/peer-id": "^5.1.5",
144
- "@multiformats/multiaddr": "^12.4.0",
145
- "@multiformats/multiaddr-to-uri": "^11.0.0",
146
- "@multiformats/uri-to-multiaddr": "^9.0.1",
147
- "it-byte-stream": "^2.0.2",
148
- "it-queueless-pushable": "^2.0.1",
149
- "it-to-browser-readablestream": "^2.0.11",
150
- "multiformats": "^13.3.6",
142
+ "@libp2p/interface": "^3.0.2",
143
+ "@libp2p/peer-id": "^6.0.3",
144
+ "@libp2p/utils": "^7.0.4",
145
+ "@multiformats/multiaddr": "^13.0.1",
146
+ "@multiformats/multiaddr-to-uri": "^12.0.0",
147
+ "@multiformats/uri-to-multiaddr": "^10.0.0",
148
+ "it-to-browser-readablestream": "^2.0.12",
149
+ "multiformats": "^13.4.1",
150
+ "race-event": "^1.6.1",
151
151
  "readable-stream": "^4.7.0",
152
152
  "uint8arraylist": "^2.4.8",
153
153
  "uint8arrays": "^5.1.0"
154
154
  },
155
155
  "devDependencies": {
156
- "aegir": "^47.0.16"
156
+ "aegir": "^47.0.22"
157
157
  },
158
158
  "browser": {
159
159
  "node:stream": "readable-stream"