@fails-components/webtransport 1.0.1 → 1.0.6
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/dist/main/lib/client.d.ts +95 -0
- package/dist/main/lib/client.d.ts.map +1 -0
- package/dist/main/lib/dom.d.ts +88 -0
- package/dist/main/lib/dom.d.ts.map +1 -0
- package/dist/main/lib/error.d.ts +8 -0
- package/dist/main/lib/error.d.ts.map +1 -0
- package/dist/main/lib/http2/browser/browser.d.ts +30 -0
- package/dist/main/lib/http2/browser/browser.d.ts.map +1 -0
- package/dist/main/lib/http2/browser/browserparser.d.ts +41 -0
- package/dist/main/lib/http2/browser/browserparser.d.ts.map +1 -0
- package/dist/main/lib/http2/flowcontroller.d.ts +70 -0
- package/dist/main/lib/http2/flowcontroller.d.ts.map +1 -0
- package/dist/main/lib/http2/node/capsuleparser.d.ts +24 -0
- package/dist/main/lib/http2/node/capsuleparser.d.ts.map +1 -0
- package/dist/main/lib/http2/node/client.d.ts +29 -0
- package/dist/main/lib/http2/node/client.d.ts.map +1 -0
- package/dist/main/lib/http2/node/index.d.ts +3 -0
- package/dist/main/lib/http2/node/index.d.ts.map +1 -0
- package/dist/main/lib/http2/node/server.d.ts +57 -0
- package/dist/main/lib/http2/node/server.d.ts.map +1 -0
- package/dist/main/lib/http2/node/websocketparser.d.ts +86 -0
- package/dist/main/lib/http2/node/websocketparser.d.ts.map +1 -0
- package/dist/main/lib/http2/parserbase.d.ts +84 -0
- package/dist/main/lib/http2/parserbase.d.ts.map +1 -0
- package/dist/main/lib/http2/parserbasehttp2.d.ts +31 -0
- package/dist/main/lib/http2/parserbasehttp2.d.ts.map +1 -0
- package/dist/main/lib/http2/session.d.ts +71 -0
- package/dist/main/lib/http2/session.d.ts.map +1 -0
- package/dist/main/lib/http2/stream.d.ts +112 -0
- package/dist/main/lib/http2/stream.d.ts.map +1 -0
- package/dist/main/lib/http2/websocketcommon.d.ts +2 -0
- package/dist/main/lib/http2/websocketcommon.d.ts.map +1 -0
- package/dist/main/lib/index.browser.d.ts +58 -0
- package/dist/main/lib/index.browser.d.ts.map +1 -0
- package/dist/main/lib/index.node.d.ts +59 -0
- package/dist/main/lib/index.node.d.ts.map +1 -0
- package/dist/main/lib/server.d.ts +102 -0
- package/dist/main/lib/server.d.ts.map +1 -0
- package/dist/main/lib/session.d.ts +296 -0
- package/dist/main/lib/session.d.ts.map +1 -0
- package/dist/main/lib/stream.d.ts +132 -0
- package/dist/main/lib/stream.d.ts.map +1 -0
- package/dist/main/lib/types.d.ts +277 -0
- package/dist/main/lib/types.d.ts.map +1 -0
- package/dist/main/lib/utils.d.ts +11 -0
- package/dist/main/lib/utils.d.ts.map +1 -0
- package/dist/main/lib/webstreams.browser.d.ts +5 -0
- package/dist/main/lib/webstreams.browser.d.ts.map +1 -0
- package/dist/main/lib/webstreams.d.ts +10 -0
- package/dist/main/lib/webstreams.d.ts.map +1 -0
- package/dist/main/lib/webtransport.browser.d.ts +60 -0
- package/dist/main/lib/webtransport.browser.d.ts.map +1 -0
- package/dist/main/lib/webtransport.node.d.ts +26 -0
- package/dist/main/lib/webtransport.node.d.ts.map +1 -0
- package/dist/main/lib/webtransportbase.d.ts +70 -0
- package/dist/main/lib/webtransportbase.d.ts.map +1 -0
- package/dist/main/test/bidirectional-streams.spec.d.ts +5 -0
- package/dist/main/test/bidirectional-streams.spec.d.ts.map +1 -0
- package/dist/main/test/datagrams.spec.d.ts +5 -0
- package/dist/main/test/datagrams.spec.d.ts.map +1 -0
- package/dist/main/test/fixtures/certificate.d.ts +21 -0
- package/dist/main/test/fixtures/certificate.d.ts.map +1 -0
- package/dist/main/test/fixtures/chai.d.ts +2 -0
- package/dist/main/test/fixtures/chai.d.ts.map +1 -0
- package/dist/main/test/fixtures/known-bytes.d.ts +8 -0
- package/dist/main/test/fixtures/known-bytes.d.ts.map +1 -0
- package/dist/main/test/fixtures/p-timeout.d.ts +8 -0
- package/dist/main/test/fixtures/p-timeout.d.ts.map +1 -0
- package/dist/main/test/fixtures/read-cert-hash.d.ts +6 -0
- package/dist/main/test/fixtures/read-cert-hash.d.ts.map +1 -0
- package/dist/main/test/fixtures/read-stream.d.ts +18 -0
- package/dist/main/test/fixtures/read-stream.d.ts.map +1 -0
- package/dist/main/test/fixtures/reader-value.d.ts +21 -0
- package/dist/main/test/fixtures/reader-value.d.ts.map +1 -0
- package/dist/main/test/fixtures/server.d.ts +5 -0
- package/dist/main/test/fixtures/server.d.ts.map +1 -0
- package/dist/main/test/fixtures/webtransport.browser.d.ts +4 -0
- package/dist/main/test/fixtures/webtransport.browser.d.ts.map +1 -0
- package/dist/main/test/fixtures/webtransport.d.ts +3 -0
- package/dist/main/test/fixtures/webtransport.d.ts.map +1 -0
- package/dist/main/test/fixtures/write-stream.d.ts +10 -0
- package/dist/main/test/fixtures/write-stream.d.ts.map +1 -0
- package/dist/main/test/index.d.ts +2 -0
- package/dist/main/test/index.d.ts.map +1 -0
- package/dist/main/test/session.spec.d.ts +5 -0
- package/dist/main/test/session.spec.d.ts.map +1 -0
- package/dist/main/test/unidirectional-streams.spec.d.ts +2 -0
- package/dist/main/test/unidirectional-streams.spec.d.ts.map +1 -0
- package/dist/main/tsconfig.tsbuildinfo +1 -0
- package/dist/transports/http3-quiche/lib/clientsocket.d.ts +19 -0
- package/dist/transports/http3-quiche/lib/clientsocket.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/index.d.ts +11 -0
- package/dist/transports/http3-quiche/lib/index.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/serversocket.d.ts +12 -0
- package/dist/transports/http3-quiche/lib/serversocket.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/socket.d.ts +19 -0
- package/dist/transports/http3-quiche/lib/socket.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/types.d.ts +21 -0
- package/dist/transports/http3-quiche/lib/types.d.ts.map +1 -0
- package/dist/transports/http3-quiche/lib/utils.d.ts +6 -0
- package/dist/transports/http3-quiche/lib/utils.d.ts.map +1 -0
- package/lib/http2/browser/browser.js +52 -0
- package/lib/http2/node/capsuleparser.js +8 -0
- package/lib/http2/node/server.js +10 -4
- package/lib/http2/node/websocketparser.js +17 -3
- package/lib/http2/parserbase.js +7 -0
- package/lib/http2/session.js +1 -5
- package/lib/server.js +2 -1
- package/lib/webtransport.browser.js +37 -2
- package/package.json +5 -3
- package/test/bidirectional-streams.spec.js +17 -31
- package/test/datagrams.spec.js +17 -20
- package/test/index.js +13 -4
- package/test/session.spec.js +43 -48
- package/test/unidirectional-streams.spec.js +17 -30
- package/tsconfig.json +15 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('./session').HttpWTSession} HttpWTSession
|
|
3
|
+
* @typedef {import('./types').HttpClientInit} HttpClientInit
|
|
4
|
+
*
|
|
5
|
+
* Http3Client events
|
|
6
|
+
* @typedef {import('./types').HttpClientEventHandler} HttpClientEventHandler
|
|
7
|
+
* @typedef {import('./types').ClientConnectedEvent} ClientConnectedEvent
|
|
8
|
+
* @typedef {import('./types').ClientWebtransportSupportEvent} ClientWebtransportSupportEvent
|
|
9
|
+
* @typedef {import('./types').HttpWTSessionVisitorEvent} HttpWTSessionVisitorEvent
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* @implements {HttpClientEventHandler}
|
|
13
|
+
*/
|
|
14
|
+
export class HttpClient implements HttpClientEventHandler {
|
|
15
|
+
/**
|
|
16
|
+
* @param {HttpClientInit} args
|
|
17
|
+
*/
|
|
18
|
+
constructor(args: HttpClientInit);
|
|
19
|
+
/** @type {HttpClientInit| undefined} */
|
|
20
|
+
args: HttpClientInit | undefined;
|
|
21
|
+
/** @type {{ resolve: (value?: any) => void, reject: (err?: Error) => void} | null | undefined} */
|
|
22
|
+
sessionProm: {
|
|
23
|
+
resolve: (value?: any) => void;
|
|
24
|
+
reject: (err?: Error) => void;
|
|
25
|
+
} | null | undefined;
|
|
26
|
+
/** @type {Promise<void> | undefined} */
|
|
27
|
+
sessionobj: Promise<void> | undefined;
|
|
28
|
+
/** @type {HttpWTSession | null | undefined} */
|
|
29
|
+
sessionobjint: HttpWTSession | null | undefined;
|
|
30
|
+
closeHookSession(): void;
|
|
31
|
+
/** @type {{ resolve: (value?: any) => void, reject: (err?: Error) => void} | null | undefined} */
|
|
32
|
+
webtransportProm: {
|
|
33
|
+
resolve: (value?: any) => void;
|
|
34
|
+
reject: (err?: Error) => void;
|
|
35
|
+
} | null | undefined;
|
|
36
|
+
/** @type {{ resolve: (value?: any) => void, reject: (err?: Error) => void} | null | undefined} */
|
|
37
|
+
quicconnectedProm: {
|
|
38
|
+
resolve: (value?: any) => void;
|
|
39
|
+
reject: (err?: Error) => void;
|
|
40
|
+
} | null | undefined;
|
|
41
|
+
_quicConnectTimeout: number;
|
|
42
|
+
_webTransportConnectTimeout: number;
|
|
43
|
+
/**
|
|
44
|
+
* @param {Object} args
|
|
45
|
+
* @param {boolean} args.createTransport
|
|
46
|
+
* @param {string} args.path
|
|
47
|
+
*/
|
|
48
|
+
handleConnection({ createTransport, path }: {
|
|
49
|
+
createTransport: boolean;
|
|
50
|
+
path: string;
|
|
51
|
+
}): Promise<void>;
|
|
52
|
+
quicconnected: Promise<any> | undefined;
|
|
53
|
+
webtransport: Promise<any> | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* @param {HttpWTSession} sessionobj
|
|
56
|
+
* @param {string} path
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
createWTSession(sessionobj: HttpWTSession, path: string): Promise<void | undefined>;
|
|
60
|
+
stopped: boolean | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* @param {import('./types').SessionCloseEvent} args
|
|
63
|
+
*/
|
|
64
|
+
onClientError(args: import('./types').SessionCloseEvent): void;
|
|
65
|
+
/**
|
|
66
|
+
* @param {ClientConnectedEvent} args
|
|
67
|
+
*/
|
|
68
|
+
onClientConnected(args: ClientConnectedEvent): void;
|
|
69
|
+
transportIntSwitchToReliable: any;
|
|
70
|
+
/**
|
|
71
|
+
* @param {ClientWebtransportSupportEvent} args
|
|
72
|
+
*/
|
|
73
|
+
onClientWebTransportSupport(args: ClientWebtransportSupportEvent): void;
|
|
74
|
+
/**
|
|
75
|
+
* @param {HttpWTSessionVisitorEvent} args
|
|
76
|
+
*/
|
|
77
|
+
onHttpWTSessionVisitor(args: HttpWTSessionVisitorEvent): void;
|
|
78
|
+
/**
|
|
79
|
+
* @param{{path: string}} [args]
|
|
80
|
+
**/
|
|
81
|
+
createTransportInt(args?: {
|
|
82
|
+
path: string;
|
|
83
|
+
} | undefined): void;
|
|
84
|
+
transportInt: any;
|
|
85
|
+
}
|
|
86
|
+
export type HttpWTSession = import('./session').HttpWTSession;
|
|
87
|
+
/**
|
|
88
|
+
* Http3Client events
|
|
89
|
+
*/
|
|
90
|
+
export type HttpClientInit = import('./types').HttpClientInit;
|
|
91
|
+
export type HttpClientEventHandler = import('./types').HttpClientEventHandler;
|
|
92
|
+
export type ClientConnectedEvent = import('./types').ClientConnectedEvent;
|
|
93
|
+
export type ClientWebtransportSupportEvent = import('./types').ClientWebtransportSupportEvent;
|
|
94
|
+
export type HttpWTSessionVisitorEvent = import('./types').HttpWTSessionVisitorEvent;
|
|
95
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../lib/client.js"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AAEH;;GAEG;AACH;IACE;;OAEG;IACH,kBAFW,cAAc,EAwBxB;IArBC,wCAAwC;IACxC,MADW,cAAc,GAAE,SAAS,CACpB;IAEhB,kGAAkG;IAClG;0BAD+B,GAAG,KAAK,IAAI;uBAAiB,KAAK,KAAK,IAAI;yBACnD;IAEvB,wCAAwC;IACxC,YADW,QAAQ,IAAI,CAAC,GAAG,SAAS,CAGlB;IAClB,+CAA+C;IAC/C,eADW,aAAa,GAAG,IAAI,GAAG,SAAS,CAClB;IA0E3B,yBAMC;IA7EC,kGAAkG;IAClG;0BAD+B,GAAG,KAAK,IAAI;uBAAiB,KAAK,KAAK,IAAI;yBAC9C;IAC5B,kGAAkG;IAClG;0BAD+B,GAAG,KAAK,IAAI;uBAAiB,KAAK,KAAK,IAAI;yBAC7C;IAE7B,4BAA0D;IAC1D,oCAA0E;IAG5E;;;;OAIG;IACH;QAHyB,eAAe,EAA7B,OAAO;QACM,IAAI,EAAjB,MAAM;sBA0BhB;IArBC,wCAEE;IACF,uCAEE;IAkBJ;;;;OAIG;IACH,4BAJW,aAAa,QACb,MAAM,6BA2BhB;IAOC,6BAAmB;IAGrB;;OAEG;IACH,oBAFW,OAAO,SAAS,EAAE,iBAAiB,QAM7C;IAED;;OAEG;IACH,wBAFW,oBAAoB,QAa9B;IAVC,kCAA6C;IAY/C;;OAEG;IACH,kCAFW,8BAA8B,QAOxC;IAED;;OAEG;IACH,6BAFW,yBAAyB,QAenC;IAED;;QAEI;IACJ;cAFiB,MAAM;yBA4CtB;IA/BK,kBAAwD;CAgC/D;4BAlNY,OAAO,WAAW,EAAE,aAAa;;;;6BACjC,OAAO,SAAS,EAAE,cAAc;qCAGhC,OAAO,SAAS,EAAE,sBAAsB;mCACxC,OAAO,SAAS,EAAE,oBAAoB;6CACtC,OAAO,SAAS,EAAE,8BAA8B;wCAChD,OAAO,SAAS,EAAE,yBAAyB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export interface WebTransportDatagramStats {
|
|
2
|
+
timestamp: number;
|
|
3
|
+
expiredOutgoing: bigint;
|
|
4
|
+
droppedIncoming: bigint;
|
|
5
|
+
lostOutgoing: bigint;
|
|
6
|
+
}
|
|
7
|
+
export interface WebTransportStats {
|
|
8
|
+
timestamp: number;
|
|
9
|
+
bytesSent: bigint;
|
|
10
|
+
packetsSent: bigint;
|
|
11
|
+
packetsLost: bigint;
|
|
12
|
+
numOutgoingStreamsCreated: number;
|
|
13
|
+
numIncomingStreamsCreated: number;
|
|
14
|
+
bytesReceived: bigint;
|
|
15
|
+
packetsReceived: bigint;
|
|
16
|
+
smoothedRtt: number;
|
|
17
|
+
rttVariation: number;
|
|
18
|
+
minRtt: number;
|
|
19
|
+
estimatedSendRate: bigint;
|
|
20
|
+
datagrams: WebTransportDatagramStats;
|
|
21
|
+
}
|
|
22
|
+
export interface WebTransportCloseInfo {
|
|
23
|
+
closeCode: number;
|
|
24
|
+
reason: string;
|
|
25
|
+
}
|
|
26
|
+
export interface WebTransportDatagramDuplexStream {
|
|
27
|
+
readable: ReadableStream<Uint8Array>;
|
|
28
|
+
writable: WritableStream<Uint8Array>;
|
|
29
|
+
}
|
|
30
|
+
export interface WebTransportSendStreamStats {
|
|
31
|
+
timestamp: number;
|
|
32
|
+
bytesWritten: bigint;
|
|
33
|
+
bytesSent: bigint;
|
|
34
|
+
bytesAcknowledged: bigint;
|
|
35
|
+
}
|
|
36
|
+
export interface WebTransportSendStream extends WritableStream<Uint8Array> {
|
|
37
|
+
getStats: () => Promise<WebTransportSendStreamStats>;
|
|
38
|
+
}
|
|
39
|
+
export interface WebTransportReceiveStreamStats {
|
|
40
|
+
timestamp: number;
|
|
41
|
+
bytesReceived: bigint;
|
|
42
|
+
bytesRead: bigint;
|
|
43
|
+
}
|
|
44
|
+
export interface WebTransportReceiveStream extends ReadableStream<Uint8Array> {
|
|
45
|
+
getStats: () => Promise<WebTransportReceiveStreamStats>;
|
|
46
|
+
}
|
|
47
|
+
export interface WebTransportBidirectionalStream {
|
|
48
|
+
readonly readable: WebTransportReceiveStream;
|
|
49
|
+
readonly writable: WebTransportSendStream;
|
|
50
|
+
}
|
|
51
|
+
export interface WebTransportHash {
|
|
52
|
+
algorithm: string;
|
|
53
|
+
value: BufferSource;
|
|
54
|
+
}
|
|
55
|
+
export interface WebTransportOptions {
|
|
56
|
+
allowPooling?: boolean;
|
|
57
|
+
requireUnreliable?: boolean;
|
|
58
|
+
serverCertificateHashes?: WebTransportHash[];
|
|
59
|
+
/**
|
|
60
|
+
* Nonstandard option - when a new connection is opened, how long to wait for the quic handshake to complete in ms before rejecting or switching to http2
|
|
61
|
+
*/
|
|
62
|
+
quicConnectTimeout?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Nonstandard option - when a new connection is opened, how long to wait for the webtransport handshake to complete in ms before rejecting or switching to http2
|
|
65
|
+
*/
|
|
66
|
+
webTransportConnectTimeout?: number;
|
|
67
|
+
congestionControl?: WebTransportCongestionControl;
|
|
68
|
+
}
|
|
69
|
+
export interface WebTransportSession {
|
|
70
|
+
getStats: () => Promise<WebTransportStats>;
|
|
71
|
+
readonly ready: Promise<void>;
|
|
72
|
+
readonly reliability: WebTransportReliabilityMode;
|
|
73
|
+
readonly congestionControl: WebTransportCongestionControl;
|
|
74
|
+
readonly closed: Promise<WebTransportCloseInfo>;
|
|
75
|
+
readonly draining: Promise<undefined>;
|
|
76
|
+
close: (closeInfo?: WebTransportCloseInfo) => void;
|
|
77
|
+
readonly datagrams: WebTransportDatagramDuplexStream;
|
|
78
|
+
createBidirectionalStream: () => Promise<WebTransportBidirectionalStream>;
|
|
79
|
+
readonly incomingBidirectionalStreams: ReadableStream<WebTransportBidirectionalStream>;
|
|
80
|
+
createUnidirectionalStream: () => Promise<WebTransportSendStream>;
|
|
81
|
+
readonly incomingUnidirectionalStreams: ReadableStream<WebTransportReceiveStream>;
|
|
82
|
+
}
|
|
83
|
+
export interface WebTransport extends WebTransportSession {
|
|
84
|
+
readonly supportsReliableOnly: boolean;
|
|
85
|
+
}
|
|
86
|
+
export type WebTransportReliabilityMode = 'pending' | 'reliable-only' | 'supports-unreliable';
|
|
87
|
+
export type WebTransportCongestionControl = 'default' | 'throughput' | 'low-latency';
|
|
88
|
+
//# sourceMappingURL=dom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../lib/dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../lib/error.js"],"names":[],"mappings":"AAAA;IACE;;OAEG;IACH,qBAFW,MAAM,EAMhB;IADa,6BAA8C;CAE7D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export class Http2WebTransportBrowser {
|
|
2
|
+
/**
|
|
3
|
+
* @param {import('../../types.js').NativeClientOptions} args
|
|
4
|
+
*/
|
|
5
|
+
constructor(args: import('../../types.js').NativeClientOptions);
|
|
6
|
+
port: number;
|
|
7
|
+
hostname: string;
|
|
8
|
+
initialStreamFlowControlWindow: number;
|
|
9
|
+
initialSessionFlowControlWindow: number;
|
|
10
|
+
streamShouldAutoTuneReceiveWindow: boolean;
|
|
11
|
+
streamFlowControlWindowSizeLimit: number;
|
|
12
|
+
sessionShouldAutoTuneReceiveWindow: boolean;
|
|
13
|
+
sessionFlowControlWindowSizeLimit: number;
|
|
14
|
+
/** @type {import('../../session.js').HttpClient} */
|
|
15
|
+
jsobj: import('../../session.js').HttpClient;
|
|
16
|
+
/** @type {WebSocket} */
|
|
17
|
+
clientInt: WebSocket;
|
|
18
|
+
/**
|
|
19
|
+
* @param {{path: string}} arg
|
|
20
|
+
*/
|
|
21
|
+
createTransport({ path }: {
|
|
22
|
+
path: string;
|
|
23
|
+
}): void;
|
|
24
|
+
/**
|
|
25
|
+
* @param {string} path
|
|
26
|
+
*/
|
|
27
|
+
openWTSession(path: string): void;
|
|
28
|
+
closeClient(): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../../lib/http2/browser/browser.js"],"names":[],"mappings":"AAOA;IACE;;OAEG;IACH,kBAFW,OAAO,gBAAgB,EAAE,mBAAmB,EAyBtD;IAtBC,aAA6B;IAC7B,iBAAyC;IACzC,uCACmD;IACnD,wCACoD;IAEpD,2CACiD;IACjD,yCAC2D;IAE3D,4CACkD;IAClD,0CAC6D;IAC7D,oDAAoD;IAEpD,OAFW,OAAO,kBAAkB,EAAE,UAAU,CAE1B;IACtB,wBAAwB;IAExB,WAFW,SAAS,CAEM;IAG5B;;OAEG;IACH,0BAFW;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,QAkExB;IAED;;OAEG;IACH,oBAFW,MAAM,QA2GhB;IAED,oBAGC;CACF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param{{offset: Number, buffer: Uint8Array, size: Number}} bs
|
|
3
|
+
* @param{Number|bigint} int
|
|
4
|
+
*/
|
|
5
|
+
export function writeVarInt(bs: {
|
|
6
|
+
offset: number;
|
|
7
|
+
buffer: Uint8Array;
|
|
8
|
+
size: number;
|
|
9
|
+
}, int: number | bigint): void;
|
|
10
|
+
export class BrowserParser extends ParserBase {
|
|
11
|
+
static WS_CONTINUE: number;
|
|
12
|
+
static WS_TEXT: number;
|
|
13
|
+
static WS_BINARY: number;
|
|
14
|
+
static WS_CLOSE: number;
|
|
15
|
+
static WS_PING: number;
|
|
16
|
+
static WS_PONG: number;
|
|
17
|
+
/**
|
|
18
|
+
* @param {import('../../types.js').ParserWebsocketInit} stream
|
|
19
|
+
*/
|
|
20
|
+
constructor({ ws, nativesession, isclient, initialStreamSendWindowOffset, initialStreamReceiveWindowOffset, streamShouldAutoTuneReceiveWindow, streamReceiveWindowSizeLimit }: import('../../types.js').ParserWebsocketInit);
|
|
21
|
+
ws: WebSocket;
|
|
22
|
+
/** @type {Buffer|undefined} */
|
|
23
|
+
saveddata: Buffer | undefined;
|
|
24
|
+
/** @type {Number|undefined} */
|
|
25
|
+
rtype: number | undefined;
|
|
26
|
+
closesend: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* @param {Uint8Array} data
|
|
29
|
+
*/
|
|
30
|
+
parseData(data: Uint8Array): void;
|
|
31
|
+
/**
|
|
32
|
+
* @param{{type: Number, headerVints: Array<Number|bigint>, payload: Uint8Array|undefined}} bs
|
|
33
|
+
*/
|
|
34
|
+
writeCapsule({ type, headerVints, payload }: {
|
|
35
|
+
type: number;
|
|
36
|
+
headerVints: Array<number | bigint>;
|
|
37
|
+
payload: Uint8Array | undefined;
|
|
38
|
+
}): boolean;
|
|
39
|
+
}
|
|
40
|
+
import { ParserBase } from "../parserbase.js";
|
|
41
|
+
//# sourceMappingURL=browserparser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserparser.d.ts","sourceRoot":"","sources":["../../../../../lib/http2/browser/browserparser.js"],"names":[],"mappings":"AAyBA;;;GAGG;AACH,gCAHU;IAAC,MAAM,SAAS;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,SAAQ;CAAC,OAClD,SAAO,MAAM,QAyBtB;AAED;IACE,2BAAwB;IACxB,uBAAoB;IACpB,yBAAsB;IACtB,wBAAqB;IACrB,uBAAoB;IACpB,uBAAoB;IACpB;;OAEG;IACH,+KAFW,OAAO,gBAAgB,EAAE,mBAAmB,EAoCtD;IAjBC,cAAY;IACZ,+BAA+B;IAC/B,WADW,MAAM,GAAC,SAAS,CACD;IAC1B,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAEtB,mBAAsB;IAaxB;;OAEG;IACH,gBAFW,UAAU,QAiHpB;IAED;;OAEG;IACH,6CAFU;QAAC,IAAI,SAAS;QAAC,WAAW,EAAE,MAAM,SAAO,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,UAAU,GAAC,SAAS,CAAA;KAAC,WAsBzF;CAQF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export class FlowController {
|
|
2
|
+
static kSessionFlowControlMultiplier: number;
|
|
3
|
+
/**
|
|
4
|
+
* @param {{tocontrol: FlowControlable
|
|
5
|
+
* sendWindowOffset: number,
|
|
6
|
+
* receiveWindowOffset: number,
|
|
7
|
+
* shouldAutoTuneReceiveWindow: boolean
|
|
8
|
+
* receiveWindowSizeLimit: number,
|
|
9
|
+
* sessionFlowController?: FlowController}} arg
|
|
10
|
+
*/
|
|
11
|
+
constructor({ tocontrol, sendWindowOffset, receiveWindowOffset, receiveWindowSizeLimit, shouldAutoTuneReceiveWindow, sessionFlowController }: {
|
|
12
|
+
tocontrol: FlowControlable;
|
|
13
|
+
sendWindowOffset: number;
|
|
14
|
+
receiveWindowOffset: number;
|
|
15
|
+
shouldAutoTuneReceiveWindow: boolean;
|
|
16
|
+
receiveWindowSizeLimit: number;
|
|
17
|
+
sessionFlowController?: FlowController;
|
|
18
|
+
});
|
|
19
|
+
tocontrol: import("../types").FlowControlable;
|
|
20
|
+
bytesSent: bigint;
|
|
21
|
+
sendWindowOffset: bigint;
|
|
22
|
+
bytesConsumed: bigint;
|
|
23
|
+
highestReceivedByteOffset: bigint;
|
|
24
|
+
receiveWindowOffset: bigint;
|
|
25
|
+
receiveWindowSize: bigint;
|
|
26
|
+
receiveWindowSizeLimit: bigint;
|
|
27
|
+
autoTuneReceiveWindow: boolean;
|
|
28
|
+
sessionFlowController: FlowController | undefined;
|
|
29
|
+
lastBlockedSendWindowOffset: bigint;
|
|
30
|
+
prevWindowUpdateTime: number | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* @param {Number} bytesConsumed
|
|
33
|
+
*/
|
|
34
|
+
addBytesConsumed(bytesConsumed: number): void;
|
|
35
|
+
/**
|
|
36
|
+
* @param {Number} increaseOffset
|
|
37
|
+
*/
|
|
38
|
+
updateHighestReceivedOffset(increaseOffset: number): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* @param {Number} nbytesSent
|
|
41
|
+
*/
|
|
42
|
+
addBytesSent(nbytesSent: number): void;
|
|
43
|
+
flowControlViolation(): boolean;
|
|
44
|
+
maybeIncreaseMaxWindowSize(): void;
|
|
45
|
+
increaseWindowSize(): void;
|
|
46
|
+
windowUpdateThreshold(): bigint;
|
|
47
|
+
maybeSendWindowUpdate(): void;
|
|
48
|
+
/**
|
|
49
|
+
* @param {bigint} availableWindow
|
|
50
|
+
*/
|
|
51
|
+
updateReceiveWindowOffsetAndSendWindowUpdate(availableWindow: bigint): void;
|
|
52
|
+
maybeSendBlocked(): void;
|
|
53
|
+
/**
|
|
54
|
+
* @param {bigint} newSendWindowOffset
|
|
55
|
+
*/
|
|
56
|
+
updateSendWindowOffset(newSendWindowOffset: bigint): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* @param {bigint} windowSize
|
|
59
|
+
*/
|
|
60
|
+
ensureWindowAtLeast(windowSize: bigint): void;
|
|
61
|
+
isBlocked(): boolean;
|
|
62
|
+
sendWindowSize(): bigint | 0;
|
|
63
|
+
/**
|
|
64
|
+
* @param {bigint} size
|
|
65
|
+
*/
|
|
66
|
+
updateReceiveWindowSize(size: bigint): void;
|
|
67
|
+
sendWindowUpdate(): void;
|
|
68
|
+
}
|
|
69
|
+
export type FlowControlable = import('../types').FlowControlable;
|
|
70
|
+
//# sourceMappingURL=flowcontroller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flowcontroller.d.ts","sourceRoot":"","sources":["../../../../lib/http2/flowcontroller.js"],"names":[],"mappings":"AAaA;IACE,6CAA0C;IAE1C;;;;;;;OAOG;IAEH,8IARW;QAAC,SAAS,EAAE,eAAe,CAAA;QACrC,gBAAkB,EAAE,MAAM,CAAC;QAC3B,mBAAqB,EAAE,MAAM,CAAC;QAC9B,2BAA6B,EAAE,OAAO,CAAA;QACtC,sBAAwB,EAAE,MAAM,CAAC;QACjC,qBAAuB,CAAC,EAAE,cAAc,CAAA;KAAC,EAmCzC;IAxBC,8CAA0B;IAC1B,kBAAmB;IACnB,yBAAgD;IAChD,sBAAuB;IACvB,kCAAmC;IACnC,4BAAsD;IACtD,0BAAoD;IACpD,+BAA4D;IAC5D,+BAAwD;IACxD,kDAAkD;IAClD,oCAAqC;IACrC,yCAAqC;IAevC;;OAEG;IACH,8CAKC;IAED;;OAEG;IACH,6DAaC;IAED;;OAEG;IACH,uCAyBC;IAED,gCAYC;IAED,mCAwEC;IAED,2BAMC;IAED,gCAEC;IAED,8BA8BC;IAED;;OAEG;IACH,8DAFW,MAAM,QAqBhB;IAED,yBAuBC;IAED;;OAEG;IACH,4CAFW,MAAM,WAwBhB;IAED;;OAEG;IACH,gCAFW,MAAM,QAUhB;IAED,qBAEC;IAED,6BAKC;IAED;;OAEG;IACH,8BAFW,MAAM,QAehB;IAED,yBAEC;CACF;8BA/WY,OAAO,UAAU,EAAE,eAAe"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export class Http2CapsuleParser extends ParserBaseHttp2 {
|
|
2
|
+
mode: string;
|
|
3
|
+
/** @type {Buffer|undefined} */
|
|
4
|
+
saveddata: Buffer | undefined;
|
|
5
|
+
/** @type {Number|undefined} */
|
|
6
|
+
rtype: number | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* @param {Buffer} data
|
|
9
|
+
*/
|
|
10
|
+
parseData(data: Buffer): void;
|
|
11
|
+
remainlength: any;
|
|
12
|
+
rstreamid: number | undefined;
|
|
13
|
+
rfin: boolean | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* @param{{type: Number, headerVints: Array<Number>, payload: Uint8Array|undefined}} bs
|
|
16
|
+
*/
|
|
17
|
+
writeCapsule({ type, headerVints, payload }: {
|
|
18
|
+
type: number;
|
|
19
|
+
headerVints: Array<number>;
|
|
20
|
+
payload: Uint8Array | undefined;
|
|
21
|
+
}): boolean | undefined;
|
|
22
|
+
}
|
|
23
|
+
import { ParserBaseHttp2 } from "../parserbasehttp2.js";
|
|
24
|
+
//# sourceMappingURL=capsuleparser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capsuleparser.d.ts","sourceRoot":"","sources":["../../../../../lib/http2/node/capsuleparser.js"],"names":[],"mappings":"AAGA;IAsBI,aAAe;IACf,+BAA+B;IAC/B,WADW,MAAM,GAAC,SAAS,CACD;IAC1B,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAGxB;;OAEG;IACH,gBAFW,MAAM,QA0OhB;IA3CW,kBAA2D;IAGzD,8BAAyB;IACzB,0BAAsD;IAyCpE;;OAEG;IACH,6CAFU;QAAC,IAAI,SAAS;QAAC,WAAW,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,UAAU,GAAC,SAAS,CAAA;KAAC,uBAmBlF;CASF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export class Http2WebTransportClient {
|
|
3
|
+
/**
|
|
4
|
+
* @param {import('../../types.js').NativeClientOptions} args
|
|
5
|
+
*/
|
|
6
|
+
constructor(args: import('../../types.js').NativeClientOptions);
|
|
7
|
+
port: number;
|
|
8
|
+
hostname: string;
|
|
9
|
+
serverCertificateHashes: import("../../dom.js").WebTransportHash[];
|
|
10
|
+
localPort: number | undefined;
|
|
11
|
+
allowPooling: boolean;
|
|
12
|
+
forceIpv6: boolean;
|
|
13
|
+
initialStreamFlowControlWindow: number;
|
|
14
|
+
initialSessionFlowControlWindow: number;
|
|
15
|
+
streamShouldAutoTuneReceiveWindow: boolean;
|
|
16
|
+
streamFlowControlWindowSizeLimit: number;
|
|
17
|
+
sessionShouldAutoTuneReceiveWindow: boolean;
|
|
18
|
+
sessionFlowControlWindowSizeLimit: number;
|
|
19
|
+
/** @type {import('../../session.js').HttpClient} */
|
|
20
|
+
jsobj: import('../../session.js').HttpClient;
|
|
21
|
+
createTransport(): void;
|
|
22
|
+
clientInt: import("http2").ClientHttp2Session | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* @param {string} path
|
|
25
|
+
*/
|
|
26
|
+
openWTSession(path: string): void;
|
|
27
|
+
closeClient(): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../lib/http2/node/client.js"],"names":[],"mappings":";AAOA;IACE;;OAEG;IACH,kBAFW,OAAO,gBAAgB,EAAE,mBAAmB,EA4BtD;IAvBC,aAAwB;IACxB,iBAAyC;IACzC,mEAAyE;IACzE,8BAAqD;IACrD,sBAA+C;IAC/C,mBAAyC;IACzC,uCACmD;IACnD,wCACoD;IAEpD,2CACiD;IACjD,yCAC2D;IAE3D,4CACkD;IAClD,0CAC6D;IAC7D,oDAAoD;IAEpD,OAFW,OAAO,kBAAkB,EAAE,UAAU,CAE1B;IAGxB,wBAwJC;IA5FC,0DAGC;IA2FH;;OAEG;IACH,oBAFW,MAAM,QAuChB;IAED,oBAEC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../lib/http2/node/index.js"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export class Http2WebTransportServer {
|
|
3
|
+
/**
|
|
4
|
+
* @param {import('../../types.js').NativeServerOptions} args
|
|
5
|
+
*/
|
|
6
|
+
constructor(args: import('../../types.js').NativeServerOptions);
|
|
7
|
+
port: number;
|
|
8
|
+
secret: string;
|
|
9
|
+
host: string;
|
|
10
|
+
initialStreamFlowControlWindow: number;
|
|
11
|
+
initialSessionFlowControlWindow: number;
|
|
12
|
+
streamShouldAutoTuneReceiveWindow: boolean;
|
|
13
|
+
streamFlowControlWindowSizeLimit: number;
|
|
14
|
+
sessionShouldAutoTuneReceiveWindow: boolean;
|
|
15
|
+
sessionFlowControlWindowSizeLimit: number;
|
|
16
|
+
/** @type {Record<string, boolean>} */
|
|
17
|
+
paths: Record<string, boolean>;
|
|
18
|
+
hasrequesthandler: boolean;
|
|
19
|
+
/** @type {import('../../session.js').HttpServer} */
|
|
20
|
+
jsobj: import('../../session.js').HttpServer;
|
|
21
|
+
serverInt: import("http2").Http2SecureServer;
|
|
22
|
+
capsParser: WebSocketParser;
|
|
23
|
+
/**
|
|
24
|
+
* @param {import("http2").IncomingHttpHeaders} header
|
|
25
|
+
*/
|
|
26
|
+
checkProtocolHeader(header: import("http2").IncomingHttpHeaders): any;
|
|
27
|
+
startServer(): void;
|
|
28
|
+
stopServer(): void;
|
|
29
|
+
/**
|
|
30
|
+
* @param {string} cert
|
|
31
|
+
* @param {string} privKey
|
|
32
|
+
* @param {boolean} http2only
|
|
33
|
+
* */
|
|
34
|
+
updateCert(cert: string, privKey: string, http2only: boolean): void;
|
|
35
|
+
/**
|
|
36
|
+
* @param {boolean} isset
|
|
37
|
+
*/
|
|
38
|
+
setJSRequestHandler(isset: boolean): void;
|
|
39
|
+
/**
|
|
40
|
+
* @param {string} path
|
|
41
|
+
*/
|
|
42
|
+
addPath(path: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* @param {{stream: import('net').Socket, header: any, protocol: string}} args
|
|
45
|
+
*/
|
|
46
|
+
sendHttp1Headers({ stream, header, protocol }: {
|
|
47
|
+
stream: import('net').Socket;
|
|
48
|
+
header: any;
|
|
49
|
+
protocol: string;
|
|
50
|
+
}): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* @param {import('../../types.js').NativeFinishSessionRequest} args
|
|
53
|
+
*/
|
|
54
|
+
finishSessionRequest({ header, session: stream, status, protocol, head }: import('../../types.js').NativeFinishSessionRequest): void;
|
|
55
|
+
}
|
|
56
|
+
import { WebSocketParser } from "./websocketparser.js";
|
|
57
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../lib/http2/node/server.js"],"names":[],"mappings":";AASA;IACE;;OAEG;IACH,kBAFW,OAAO,gBAAgB,EAAE,mBAAmB,EA8StD;IAzSC,aAAwB;IACxB,eAA0B;IAE1B,aAAqC;IAMrC,uCACmD;IACnD,wCACoD;IAEpD,2CACiD;IACjD,yCAC2D;IAE3D,4CACkD;IAClD,0CAC6D;IAE7D,sCAAsC;IACtC,OADW,OAAO,MAAM,EAAE,OAAO,CAAC,CACnB;IACf,2BAA8B;IAC9B,oDAAoD;IAEpD,OAFW,OAAO,kBAAkB,EAAE,UAAU,CAE1B;IAGtB,6CAeE;IAkF6B,4BAYb;IA8JpB;;OAEG;IACH,4BAFW,OAAO,OAAO,EAAE,mBAAmB,OAgB7C;IAED,oBAEC;IAED,mBAGC;IAED;;;;SAIK;IACL,iBAJW,MAAM,WACN,MAAM,aACN,OAAO,QAIjB;IAED;;OAEG;IACH,2BAFW,OAAO,QAIjB;IAED;;OAEG;IACH,cAFW,MAAM,QAIhB;IAED;;OAEG;IACH,+CAFW;QAAC,MAAM,EAAE,OAAO,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,iBA4BvE;IAED;;OAEG;IACH,0EAFW,OAAO,gBAAgB,EAAE,0BAA0B,QAyG7D;CACF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param{{offset: Number, buffer: Buffer, size: Number}} bs
|
|
3
|
+
* @param{{offset: Number, mask: Uint8Array}} ms
|
|
4
|
+
*/
|
|
5
|
+
export function readVarIntMasked(bs: {
|
|
6
|
+
offset: number;
|
|
7
|
+
buffer: Buffer;
|
|
8
|
+
size: number;
|
|
9
|
+
}, ms: {
|
|
10
|
+
offset: number;
|
|
11
|
+
mask: Uint8Array;
|
|
12
|
+
}): number | undefined;
|
|
13
|
+
export class WebSocketParser extends ParserBaseHttp2 {
|
|
14
|
+
static WS_CONTINUE: number;
|
|
15
|
+
static WS_TEXT: number;
|
|
16
|
+
static WS_BINARY: number;
|
|
17
|
+
static WS_CLOSE: number;
|
|
18
|
+
static WS_PING: number;
|
|
19
|
+
static WS_PONG: number;
|
|
20
|
+
mode: string;
|
|
21
|
+
/** @type {Buffer|undefined} */
|
|
22
|
+
saveddata: Buffer | undefined;
|
|
23
|
+
/** @type {Number|undefined} */
|
|
24
|
+
rtype: number | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* @param {Buffer} data
|
|
27
|
+
*/
|
|
28
|
+
parseData(data: Buffer): void;
|
|
29
|
+
maskcontext: {
|
|
30
|
+
mask: Uint8Array;
|
|
31
|
+
offset: number;
|
|
32
|
+
} | undefined;
|
|
33
|
+
lastopcode: number | undefined;
|
|
34
|
+
curtype: number | bigint | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* @type {Uint8Array[]}
|
|
37
|
+
*/
|
|
38
|
+
contframes: Uint8Array[] | undefined;
|
|
39
|
+
cstreamid: number | undefined;
|
|
40
|
+
remainlength: any;
|
|
41
|
+
rstreamid: number | undefined;
|
|
42
|
+
rfin: boolean | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* @param {Uint8Array} payload
|
|
45
|
+
*/
|
|
46
|
+
sendCloseInt(payload: Uint8Array): void;
|
|
47
|
+
closesend: boolean | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* @param {Uint8Array} payload
|
|
50
|
+
*/
|
|
51
|
+
sendPong(payload: Uint8Array): void;
|
|
52
|
+
/**
|
|
53
|
+
* @param{{type: Number, headerVints: Array<Number|bigint>, payload: Uint8Array|undefined}} bs
|
|
54
|
+
*/
|
|
55
|
+
writeCapsule({ type, headerVints, payload }: {
|
|
56
|
+
type: number;
|
|
57
|
+
headerVints: Array<number | bigint>;
|
|
58
|
+
payload: Uint8Array | undefined;
|
|
59
|
+
}): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* @param {{ offset: number; size?: number; buffer: Buffer; }} bs
|
|
62
|
+
* @param {{ opcode: number; plength: number; mask: number; }} args
|
|
63
|
+
*/
|
|
64
|
+
writeHeader(bs: {
|
|
65
|
+
offset: number;
|
|
66
|
+
size?: number;
|
|
67
|
+
buffer: Buffer;
|
|
68
|
+
}, { opcode, plength, mask }: {
|
|
69
|
+
opcode: number;
|
|
70
|
+
plength: number;
|
|
71
|
+
mask: number;
|
|
72
|
+
}): {
|
|
73
|
+
offset: number;
|
|
74
|
+
mask: Buffer;
|
|
75
|
+
} | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* @param {{ opcode: number; payload: Uint8Array; }} args
|
|
78
|
+
*/
|
|
79
|
+
writeWSFrame({ opcode, payload }: {
|
|
80
|
+
opcode: number;
|
|
81
|
+
payload: Uint8Array;
|
|
82
|
+
}): boolean;
|
|
83
|
+
}
|
|
84
|
+
export type Http2Stream = import('node:http2').Http2Stream;
|
|
85
|
+
import { ParserBaseHttp2 } from "../parserbasehttp2.js";
|
|
86
|
+
//# sourceMappingURL=websocketparser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocketparser.d.ts","sourceRoot":"","sources":["../../../../../lib/http2/node/websocketparser.js"],"names":[],"mappings":"AA8BA;;;GAGG;AACH,qCAHU;IAAC,MAAM,SAAS;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,SAAQ;CAAC,MAC9C;IAAC,MAAM,SAAS;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,sBAmB3C;AA+GD;IACE,2BAAwB;IACxB,uBAAoB;IACpB,yBAAsB;IACtB,wBAAqB;IACrB,uBAAoB;IACpB,uBAAoB;IAsBlB,aAAe;IACf,+BAA+B;IAC/B,WADW,MAAM,GAAC,SAAS,CACD;IAC1B,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAGxB;;OAEG;IACH,gBAFW,MAAM,QA4dhB;IAzZW;;;kBAGC;IAKD,+BAAwB;IAsItB,qCAAmB;IAyEf;;OAEG;IACH,qCAAoB;IAmCpB,8BAAyB;IA4F7B,kBAA2D;IAGzD,8BAAyB;IACzB,0BAA8C;IA6E9D;;OAEG;IACH,sBAFW,UAAU,QAKpB;IADC,+BAAqB;IAGvB;;OAEG;IACH,kBAFW,UAAU,QAIpB;IAED;;OAEG;IACH,6CAFU;QAAC,IAAI,SAAS;QAAC,WAAW,EAAE,MAAM,SAAO,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,UAAU,GAAC,SAAS,CAAA;KAAC,WAoDzF;IAED;;;OAGG;IACH,gBAHW;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,6BAClD;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE;;;kBA4B5D;IAED;;OAEG;IACH,kCAFW;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,CAAC;KAAE,WAkClD;CAcF;0BAn0BY,OAAO,YAAY,EAAE,WAAW"}
|