@libp2p/websockets 9.2.19-da78fa851 → 9.2.19-e8398d97e

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.
@@ -22,24 +22,13 @@
22
22
  * await node.dial(ma)
23
23
  * ```
24
24
  */
25
- import type { Transport, MultiaddrFilter, AbortOptions, ComponentLogger, OutboundConnectionUpgradeEvents, Metrics, CounterGroup, Libp2pEvents } from '@libp2p/interface';
25
+ import type { Transport, AbortOptions, ComponentLogger, OutboundConnectionUpgradeEvents, Metrics, CounterGroup, Libp2pEvents } from '@libp2p/interface';
26
26
  import type { WebSocketOptions } from 'it-ws/client';
27
27
  import type { TypedEventTarget } from 'main-event';
28
28
  import type http from 'node:http';
29
29
  import type https from 'node:https';
30
30
  import type { ProgressEvent } from 'progress-events';
31
- import type { ClientOptions } from 'ws';
32
31
  export interface WebSocketsInit extends AbortOptions, WebSocketOptions {
33
- /**
34
- * @deprecated Use a ConnectionGater instead
35
- */
36
- filter?: MultiaddrFilter;
37
- /**
38
- * Options used to create WebSockets
39
- *
40
- * @deprecated This option will be removed in a future release
41
- */
42
- websocket?: ClientOptions;
43
32
  /**
44
33
  * Options used to create the HTTP server
45
34
  */
@@ -49,12 +38,6 @@ export interface WebSocketsInit extends AbortOptions, WebSocketOptions {
49
38
  * unspecified.
50
39
  */
51
40
  https?: https.ServerOptions;
52
- /**
53
- * Inbound connections must complete their upgrade within this many ms
54
- *
55
- * @deprecated Use the `connectionManager.inboundUpgradeTimeout` libp2p config key instead
56
- */
57
- inboundConnectionUpgradeTimeout?: number;
58
41
  /**
59
42
  * How large the outgoing [bufferedAmount](https://websockets.spec.whatwg.org/#dom-websocket-bufferedamount)
60
43
  * property of incoming and outgoing websockets is allowed to get in bytes.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AASH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAyD,YAAY,EAAE,eAAe,EAAsB,+BAA+B,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEnP,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,gBAAgB;IACpE;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,CAAA;IAExB;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAA;IAEzB;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAA;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAE3B;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAA;IAExC;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,MAAM,MAAM,oBAAoB,GAC9B,+BAA+B,GAC/B,aAAa,CAAC,4BAA4B,CAAC,CAAA;AA2H7C,wBAAgB,UAAU,CAAE,IAAI,GAAE,cAAmB,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,SAAS,CAItG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AASH,OAAO,KAAK,EAAE,SAAS,EAAyD,YAAY,EAAE,eAAe,EAAsB,+BAA+B,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElO,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,gBAAgB;IACpE;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAA;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAE3B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,MAAM,MAAM,oBAAoB,GAC9B,+BAA+B,GAC/B,aAAa,CAAC,4BAA4B,CAAC,CAAA;AA6G7C,wBAAgB,UAAU,CAAE,IAAI,GAAE,cAAmB,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,SAAS,CAItG"}
package/dist/src/index.js CHANGED
@@ -23,10 +23,10 @@
23
23
  * ```
24
24
  */
25
25
  import { transportSymbol, serviceCapabilities, ConnectionFailedError } from '@libp2p/interface';
26
+ import { WebSockets as WebSocketsMatcher, WebSocketsSecure } from '@multiformats/multiaddr-matcher';
26
27
  import { multiaddrToUri as toUri } from '@multiformats/multiaddr-to-uri';
27
28
  import { pEvent } from 'p-event';
28
29
  import { CustomProgressEvent } from 'progress-events';
29
- import * as filters from './filters.js';
30
30
  import { createListener } from './listener.js';
31
31
  import { webSocketToMaConn } from './websocket-to-conn.js';
32
32
  class WebSockets {
@@ -114,21 +114,9 @@ class WebSockets {
114
114
  ...options
115
115
  });
116
116
  }
117
- /**
118
- * Takes a list of `Multiaddr`s and returns only valid WebSockets addresses.
119
- * By default, in a browser environment only DNS+WSS multiaddr is accepted,
120
- * while in a Node.js environment DNS+{WS, WSS} multiaddrs are accepted.
121
- */
122
117
  listenFilter(multiaddrs) {
123
- multiaddrs = Array.isArray(multiaddrs) ? multiaddrs : [multiaddrs];
124
- if (this.init?.filter != null) {
125
- return this.init?.filter(multiaddrs);
126
- }
127
- return filters.all(multiaddrs);
118
+ return multiaddrs.filter(ma => WebSocketsMatcher.exactMatch(ma) || WebSocketsSecure.exactMatch(ma));
128
119
  }
129
- /**
130
- * Filter check for all Multiaddrs that this transport can dial
131
- */
132
120
  dialFilter(multiaddrs) {
133
121
  return this.listenFilter(multiaddrs);
134
122
  }
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/websockets",
3
- "version": "9.2.19-da78fa851",
3
+ "version": "9.2.19-e8398d97e",
4
4
  "description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/transport-websockets#readme",
@@ -67,8 +67,8 @@
67
67
  "test:electron-main": "aegir test -t electron-main -f ./dist/test/node.js --cov"
68
68
  },
69
69
  "dependencies": {
70
- "@libp2p/interface": "2.11.0-da78fa851",
71
- "@libp2p/utils": "6.7.2-da78fa851",
70
+ "@libp2p/interface": "2.11.0-e8398d97e",
71
+ "@libp2p/utils": "6.7.2-e8398d97e",
72
72
  "@multiformats/multiaddr": "^13.0.1",
73
73
  "@multiformats/multiaddr-matcher": "^3.0.1",
74
74
  "@multiformats/multiaddr-to-uri": "^12.0.0",
@@ -82,7 +82,7 @@
82
82
  "ws": "^8.18.3"
83
83
  },
84
84
  "devDependencies": {
85
- "@libp2p/logger": "5.2.0-da78fa851",
85
+ "@libp2p/logger": "5.2.0-e8398d97e",
86
86
  "aegir": "^47.0.22",
87
87
  "is-loopback-addr": "^2.0.2",
88
88
  "p-wait-for": "^5.0.2",
package/src/index.ts CHANGED
@@ -24,34 +24,21 @@
24
24
  */
25
25
 
26
26
  import { transportSymbol, serviceCapabilities, ConnectionFailedError } from '@libp2p/interface'
27
+ import { WebSockets as WebSocketsMatcher, WebSocketsSecure } from '@multiformats/multiaddr-matcher'
27
28
  import { multiaddrToUri as toUri } from '@multiformats/multiaddr-to-uri'
28
29
  import { pEvent } from 'p-event'
29
30
  import { CustomProgressEvent } from 'progress-events'
30
- import * as filters from './filters.js'
31
31
  import { createListener } from './listener.js'
32
32
  import { webSocketToMaConn } from './websocket-to-conn.js'
33
- import type { Transport, MultiaddrFilter, CreateListenerOptions, DialTransportOptions, Listener, AbortOptions, ComponentLogger, Logger, Connection, OutboundConnectionUpgradeEvents, Metrics, CounterGroup, Libp2pEvents } from '@libp2p/interface'
33
+ import type { Transport, CreateListenerOptions, DialTransportOptions, Listener, AbortOptions, ComponentLogger, Logger, Connection, OutboundConnectionUpgradeEvents, Metrics, CounterGroup, Libp2pEvents } from '@libp2p/interface'
34
34
  import type { Multiaddr } from '@multiformats/multiaddr'
35
35
  import type { WebSocketOptions } from 'it-ws/client'
36
36
  import type { TypedEventTarget } from 'main-event'
37
37
  import type http from 'node:http'
38
38
  import type https from 'node:https'
39
39
  import type { ProgressEvent } from 'progress-events'
40
- import type { ClientOptions } from 'ws'
41
40
 
42
41
  export interface WebSocketsInit extends AbortOptions, WebSocketOptions {
43
- /**
44
- * @deprecated Use a ConnectionGater instead
45
- */
46
- filter?: MultiaddrFilter
47
-
48
- /**
49
- * Options used to create WebSockets
50
- *
51
- * @deprecated This option will be removed in a future release
52
- */
53
- websocket?: ClientOptions
54
-
55
42
  /**
56
43
  * Options used to create the HTTP server
57
44
  */
@@ -63,13 +50,6 @@ export interface WebSocketsInit extends AbortOptions, WebSocketOptions {
63
50
  */
64
51
  https?: https.ServerOptions
65
52
 
66
- /**
67
- * Inbound connections must complete their upgrade within this many ms
68
- *
69
- * @deprecated Use the `connectionManager.inboundUpgradeTimeout` libp2p config key instead
70
- */
71
- inboundConnectionUpgradeTimeout?: number
72
-
73
53
  /**
74
54
  * How large the outgoing [bufferedAmount](https://websockets.spec.whatwg.org/#dom-websocket-bufferedamount)
75
55
  * property of incoming and outgoing websockets is allowed to get in bytes.
@@ -202,24 +182,10 @@ class WebSockets implements Transport<WebSocketsDialEvents> {
202
182
  })
203
183
  }
204
184
 
205
- /**
206
- * Takes a list of `Multiaddr`s and returns only valid WebSockets addresses.
207
- * By default, in a browser environment only DNS+WSS multiaddr is accepted,
208
- * while in a Node.js environment DNS+{WS, WSS} multiaddrs are accepted.
209
- */
210
185
  listenFilter (multiaddrs: Multiaddr[]): Multiaddr[] {
211
- multiaddrs = Array.isArray(multiaddrs) ? multiaddrs : [multiaddrs]
212
-
213
- if (this.init?.filter != null) {
214
- return this.init?.filter(multiaddrs)
215
- }
216
-
217
- return filters.all(multiaddrs)
186
+ return multiaddrs.filter(ma => WebSocketsMatcher.exactMatch(ma) || WebSocketsSecure.exactMatch(ma))
218
187
  }
219
188
 
220
- /**
221
- * Filter check for all Multiaddrs that this transport can dial
222
- */
223
189
  dialFilter (multiaddrs: Multiaddr[]): Multiaddr[] {
224
190
  return this.listenFilter(multiaddrs)
225
191
  }
@@ -1,18 +0,0 @@
1
- import type { Multiaddr } from '@multiformats/multiaddr';
2
- /**
3
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p` with a `denyDialMultiaddr` method that returns `false`
4
- */
5
- export declare function all(multiaddrs: Multiaddr[]): Multiaddr[];
6
- /**
7
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p`
8
- */
9
- export declare function wss(multiaddrs: Multiaddr[]): Multiaddr[];
10
- /**
11
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p`
12
- */
13
- export declare function dnsWss(multiaddrs: Multiaddr[]): Multiaddr[];
14
- /**
15
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p`
16
- */
17
- export declare function dnsWsOrWss(multiaddrs: Multiaddr[]): Multiaddr[];
18
- //# sourceMappingURL=filters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/filters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;GAEG;AACH,wBAAgB,GAAG,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAIzD;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAIzD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAI5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAIhE"}
@@ -1,34 +0,0 @@
1
- import { WebSocketsSecure, WebSockets, DNS } from '@multiformats/multiaddr-matcher';
2
- /**
3
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p` with a `denyDialMultiaddr` method that returns `false`
4
- */
5
- export function all(multiaddrs) {
6
- return multiaddrs.filter((ma) => {
7
- return WebSocketsSecure.exactMatch(ma) || WebSockets.exactMatch(ma);
8
- });
9
- }
10
- /**
11
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p`
12
- */
13
- export function wss(multiaddrs) {
14
- return multiaddrs.filter((ma) => {
15
- return WebSocketsSecure.exactMatch(ma);
16
- });
17
- }
18
- /**
19
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p`
20
- */
21
- export function dnsWss(multiaddrs) {
22
- return multiaddrs.filter((ma) => {
23
- return DNS.matches(ma) && WebSocketsSecure.exactMatch(ma);
24
- });
25
- }
26
- /**
27
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p`
28
- */
29
- export function dnsWsOrWss(multiaddrs) {
30
- return multiaddrs.filter((ma) => {
31
- return DNS.matches(ma) && (WebSocketsSecure.exactMatch(ma) || WebSockets.exactMatch(ma));
32
- });
33
- }
34
- //# sourceMappingURL=filters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAA;AAGnF;;GAEG;AACH,MAAM,UAAU,GAAG,CAAE,UAAuB;IAC1C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC9B,OAAO,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IACrE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CAAE,UAAuB;IAC1C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC9B,OAAO,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAE,UAAuB;IAC7C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAE,UAAuB;IACjD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1F,CAAC,CAAC,CAAA;AACJ,CAAC"}
package/src/filters.ts DELETED
@@ -1,38 +0,0 @@
1
- import { WebSocketsSecure, WebSockets, DNS } from '@multiformats/multiaddr-matcher'
2
- import type { Multiaddr } from '@multiformats/multiaddr'
3
-
4
- /**
5
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p` with a `denyDialMultiaddr` method that returns `false`
6
- */
7
- export function all (multiaddrs: Multiaddr[]): Multiaddr[] {
8
- return multiaddrs.filter((ma) => {
9
- return WebSocketsSecure.exactMatch(ma) || WebSockets.exactMatch(ma)
10
- })
11
- }
12
-
13
- /**
14
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p`
15
- */
16
- export function wss (multiaddrs: Multiaddr[]): Multiaddr[] {
17
- return multiaddrs.filter((ma) => {
18
- return WebSocketsSecure.exactMatch(ma)
19
- })
20
- }
21
-
22
- /**
23
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p`
24
- */
25
- export function dnsWss (multiaddrs: Multiaddr[]): Multiaddr[] {
26
- return multiaddrs.filter((ma) => {
27
- return DNS.matches(ma) && WebSocketsSecure.exactMatch(ma)
28
- })
29
- }
30
-
31
- /**
32
- * @deprecated Configure this globally by passing a `connectionGater` to `createLibp2p`
33
- */
34
- export function dnsWsOrWss (multiaddrs: Multiaddr[]): Multiaddr[] {
35
- return multiaddrs.filter((ma) => {
36
- return DNS.matches(ma) && (WebSocketsSecure.exactMatch(ma) || WebSockets.exactMatch(ma))
37
- })
38
- }