@fails-components/webtransport 1.6.9 → 1.6.10
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/lib/http2/node/websocketparser.d.ts +5 -5
- package/dist/lib/http2/node/websocketparser.d.ts.map +1 -1
- package/dist/lib/http2/stream.d.ts.map +1 -1
- package/lib/http2/node/capsuleparser.js +1 -1
- package/lib/http2/node/websocketparser.js +10 -6
- package/lib/http2/parserbase.js +1 -1
- package/lib/http2/stream.js +3 -2
- package/lib/session.js +1 -1
- package/package.json +1 -1
|
@@ -36,18 +36,18 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
36
36
|
rtype: number | undefined;
|
|
37
37
|
bidirectionalLimitsSet: boolean;
|
|
38
38
|
unidirectionalLimitsSet: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* @type {Uint8Array[]| undefined}
|
|
41
|
+
*/
|
|
42
|
+
contframes: Uint8Array[] | undefined;
|
|
43
|
+
remainlength: number;
|
|
39
44
|
maskcontext: {
|
|
40
45
|
mask: Uint8Array;
|
|
41
46
|
offset: number;
|
|
42
47
|
} | undefined;
|
|
43
48
|
lastopcode: number | undefined;
|
|
44
49
|
curtype: number | bigint | undefined;
|
|
45
|
-
/**
|
|
46
|
-
* @type {Uint8Array[]}
|
|
47
|
-
*/
|
|
48
|
-
contframes: Uint8Array[] | undefined;
|
|
49
50
|
cstreamid: bigint | undefined;
|
|
50
|
-
remainlength: any;
|
|
51
51
|
rstreamid: bigint | undefined;
|
|
52
52
|
rfin: boolean | undefined;
|
|
53
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocketparser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/websocketparser.js"],"names":[],"mappings":"AAiDA;;;GAGG;AACH,qCAHU;IAAC,MAAM,SAAS;IAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,IAAI,SAAS;IAAC,MAAM,SAAS;IAAC,YAAY,SAAQ;CAAC,MAC1F;IAAC,MAAM,SAAS;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,sBAmB3C;AAmHD;IACE,2BAAwB;IACxB,uBAAoB;IACpB,yBAAsB;IACtB,wBAAqB;IACrB,uBAAoB;IACpB,uBAAoB;IAwBlB,aAAe;IACf;QACE,qBAAqB;gBAAV,MAAM;QAEjB,qBAAqB;cAAV,MAAM;QAEjB,2BAA2B;gBAAhB,UAAU,EAAE;QAEvB,qBAAqB;gBAAV,MAAM;QAEjB,qBAAqB;sBAAV,MAAM;MAElB;IACD,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAEtB,gCAAmC;IACnC,iCAAoC;
|
|
1
|
+
{"version":3,"file":"websocketparser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/websocketparser.js"],"names":[],"mappings":"AAiDA;;;GAGG;AACH,qCAHU;IAAC,MAAM,SAAS;IAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAAC,IAAI,SAAS;IAAC,MAAM,SAAS;IAAC,YAAY,SAAQ;CAAC,MAC1F;IAAC,MAAM,SAAS;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,sBAmB3C;AAmHD;IACE,2BAAwB;IACxB,uBAAoB;IACpB,yBAAsB;IACtB,wBAAqB;IACrB,uBAAoB;IACpB,uBAAoB;IAwBlB,aAAe;IACf;QACE,qBAAqB;gBAAV,MAAM;QAEjB,qBAAqB;cAAV,MAAM;QAEjB,2BAA2B;gBAAhB,UAAU,EAAE;QAEvB,qBAAqB;gBAAV,MAAM;QAEjB,qBAAqB;sBAAV,MAAM;MAElB;IACD,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAEtB,gCAAmC;IACnC,iCAAoC;IAEpC;;OAEG;IACH,YAFU,UAAU,EAAE,GAAE,SAAS,CAEN;IAC3B,qBAAqB;IA0FX;;;kBAGC;IAKD,+BAAwB;IAyHtB,qCAAmB;IA2Gf,8BAAyB;IA8G3B,8BAAyB;IACzB,0BAA8C;IAkE9D;;OAEG;IACH,qDAGC;IADC,+BAAqB;IAGvB;;OAEG;IACH,kBAFW,UAAU,QAIpB;IAED;;OAEG;IACH,kDAFU;QAAC,IAAI,SAAS;QAAC,WAAW,EAAE,MAAM,SAAO,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,UAAU,GAAC,SAAS,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;KAAC,WAoD3G;IAED;;;OAGG;IACH,gBAHU;QAAC,MAAM,SAAS;QAAC,MAAM,EAAE,UAAU,EAAE,CAAC;QAAC,IAAI,SAAS;QAAC,MAAM,SAAS;QAAC,YAAY,SAAQ;KAAC,6BACzF;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE;;;kBAyB5D;IAED;;OAEG;IACH,kCAFW;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,GAAC,SAAS,CAAC;KAAE,WAmC5D;CAmBF;0BAr2BY,OAAO,YAAY,EAAE,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../lib/http2/stream.js"],"names":[],"mappings":"AAwBA;IACE;;;;;;;;;;;SAWK;IACL,uMAXW;QAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,cAAgB,EAAE,OAAO,CAAC;QAC1B,QAAU,EAAE,OAAO,CAAC;QACpB,aAAe,EAAE,UAAU,CAAA;QAC3B,gBAAkB,SAAS;QAC3B,mBAAqB,SAAS;QAC9B,2BAA6B,EAAE,OAAO,CAAA;QACtC,sBAAwB,SAAS;QACjC,qBAAuB,EAAE,cAAc,CAAC;QACxC,eAAiB,EAAE,eAAe,CAAA;KAAC,EAmDnC;IArCC,+CAA+C;IAE/C,OAFW,OAAO,WAAW,EAAE,YAAY,CAErB;IACtB,iBAAwB;IACxB,iCAAiC;IACjC,WADW,MAAM,WAAW,CAAC,CACV;IAEnB,0BAAkC;IAClC,mDAAmD;IACnD;;aADsC,OAAO;QACxB;IAErB,+BAOE;IACF,sCAAkD;IAClD,gEAAsC;IAEtC,eAAkB;IAClB,0BAA6B;IAC7B,sBAAwB;IACxB,qBAAwB;IACxB,kBAAkB;IAElB,yBAA4B;IAC5B,yBAA4B;IAU9B,8BAEC;IAED;;;;OAIG;IACH;QAHuC,IAAI,EAAhC,UAAU,EAAE,GAAC,SAAS;QACT,GAAG;aAwC1B;IAED,oBAwEC;IAED,qBAGC;IAED,mBAIC;IAED,oBAEC;IAED;;OAEG;IACH,qBAFW,aAAa,GAAC,aAAa,QAWrC;IAED,sBAGC;IAED,sBAGC;IAED,
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../lib/http2/stream.js"],"names":[],"mappings":"AAwBA;IACE;;;;;;;;;;;SAWK;IACL,uMAXW;QAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,cAAgB,EAAE,OAAO,CAAC;QAC1B,QAAU,EAAE,OAAO,CAAC;QACpB,aAAe,EAAE,UAAU,CAAA;QAC3B,gBAAkB,SAAS;QAC3B,mBAAqB,SAAS;QAC9B,2BAA6B,EAAE,OAAO,CAAA;QACtC,sBAAwB,SAAS;QACjC,qBAAuB,EAAE,cAAc,CAAC;QACxC,eAAiB,EAAE,eAAe,CAAA;KAAC,EAmDnC;IArCC,+CAA+C;IAE/C,OAFW,OAAO,WAAW,EAAE,YAAY,CAErB;IACtB,iBAAwB;IACxB,iCAAiC;IACjC,WADW,MAAM,WAAW,CAAC,CACV;IAEnB,0BAAkC;IAClC,mDAAmD;IACnD;;aADsC,OAAO;QACxB;IAErB,+BAOE;IACF,sCAAkD;IAClD,gEAAsC;IAEtC,eAAkB;IAClB,0BAA6B;IAC7B,sBAAwB;IACxB,qBAAwB;IACxB,kBAAkB;IAElB,yBAA4B;IAC5B,yBAA4B;IAU9B,8BAEC;IAED;;;;OAIG;IACH;QAHuC,IAAI,EAAhC,UAAU,EAAE,GAAC,SAAS;QACT,GAAG;aAwC1B;IAED,oBAwEC;IAED,qBAGC;IAED,mBAIC;IAED,oBAEC;IAED;;OAEG;IACH,qBAFW,aAAa,GAAC,aAAa,QAWrC;IAED,sBAGC;IAED,sBAGC;IAED,gBAKC;IAED;;OAEG;IACH,gCAWC;IAED,cAEC;IAED;;OAEG;IACH,gCAYC;IAED;;OAEG;IACH,gBAFW,UAAU,QAMpB;IAED,0BAEC;IAED,oBA6FC;IAED,oBAKC;IAED;;;OAGG;IACH,oDAFW;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,QAOlD;IAED;;OAEG;IACH,+BAFW,MAAM,QAShB;IAED;;OAEG;IACH,0BAFW,MAAM,QAQhB;IAED;;OAEG;IACH,mBAFW,MAAM,QAIhB;IAED,qBAEC;IAED;;OAEG;IACH,kCAFW;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,QAM1C;IAED,mBAIC;CACF;;;;6CA3cY,OAAO,UAAU,EAAE,8BAA8B;;;;oCACjD,OAAO,UAAU,EAAE,qBAAqB;;;;8BACxC,OAAO,UAAU,EAAE,eAAe;;;;+BAClC,OAAO,UAAU,EAAE,gBAAgB;;;;uCACnC,OAAO,UAAU,EAAE,wBAAwB;;;;0BAE3C,OAAO,UAAU,EAAE,WAAW;;;;8BAC9B,OAAO,sBAAsB,EAAE,eAAe"}
|
|
@@ -175,7 +175,6 @@ export class Http2CapsuleParser extends ParserBaseHttp2 {
|
|
|
175
175
|
const fin =
|
|
176
176
|
type === Http2CapsuleParser.WT_STREAM_WFIN &&
|
|
177
177
|
bufferstate.size >= length + offsetbegin
|
|
178
|
-
if (fin) object.onFin()
|
|
179
178
|
object.recvData({
|
|
180
179
|
data:
|
|
181
180
|
offsetend - bufferstate.offset > 0
|
|
@@ -186,6 +185,7 @@ export class Http2CapsuleParser extends ParserBaseHttp2 {
|
|
|
186
185
|
: undefined,
|
|
187
186
|
fin
|
|
188
187
|
})
|
|
188
|
+
if (fin) object.onFin()
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
break
|
|
@@ -231,6 +231,12 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
231
231
|
|
|
232
232
|
this.bidirectionalLimitsSet = false
|
|
233
233
|
this.unidirectionalLimitsSet = false
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* @type {Uint8Array[]| undefined}
|
|
237
|
+
*/
|
|
238
|
+
this.contframes = undefined
|
|
239
|
+
this.remainlength = 0
|
|
234
240
|
}
|
|
235
241
|
|
|
236
242
|
/**
|
|
@@ -329,6 +335,7 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
329
335
|
}
|
|
330
336
|
if (!fin && opcode !== WebSocketParser.WS_CONTINUE) {
|
|
331
337
|
this.lastopcode = opcode
|
|
338
|
+
this.contframes = undefined // reset
|
|
332
339
|
}
|
|
333
340
|
if (fin) this.lastopcode = undefined
|
|
334
341
|
if (
|
|
@@ -511,13 +518,10 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
511
518
|
curBuf: 0,
|
|
512
519
|
curBufOffset: 0
|
|
513
520
|
}
|
|
521
|
+
this.contframes = undefined // reset
|
|
514
522
|
}
|
|
515
523
|
} else {
|
|
516
|
-
if (!this.contframes)
|
|
517
|
-
/**
|
|
518
|
-
* @type {Uint8Array[]}
|
|
519
|
-
*/
|
|
520
|
-
this.contframes = []
|
|
524
|
+
if (!this.contframes) this.contframes = []
|
|
521
525
|
const newframes = getUint8ArraysfromBuffer(
|
|
522
526
|
bufferstate,
|
|
523
527
|
offsetend - bufferstate.offset
|
|
@@ -576,7 +580,6 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
576
580
|
const fin =
|
|
577
581
|
type === ParserBase.WT_STREAM_WFIN &&
|
|
578
582
|
bufferstate.size >= length + offsetbegin
|
|
579
|
-
if (fin) object.onFin()
|
|
580
583
|
object.recvData({
|
|
581
584
|
data:
|
|
582
585
|
offsetend - bufferstate.offset > 0
|
|
@@ -587,6 +590,7 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
587
590
|
: undefined,
|
|
588
591
|
fin
|
|
589
592
|
})
|
|
593
|
+
if (fin) object.onFin()
|
|
590
594
|
}
|
|
591
595
|
}
|
|
592
596
|
break
|
package/lib/http2/parserbase.js
CHANGED
package/lib/http2/stream.js
CHANGED
|
@@ -251,13 +251,14 @@ export class Http2WebTransportStream {
|
|
|
251
251
|
onClose() {
|
|
252
252
|
// ok, inform our session id manager
|
|
253
253
|
this.streamIdManager.onStreamClosed(this.streamid)
|
|
254
|
+
// also remove from capsule parser
|
|
255
|
+
this.capsuleParser.removeStream(this.streamid)
|
|
254
256
|
}
|
|
255
257
|
|
|
256
258
|
/**
|
|
257
259
|
* @param {Number} code
|
|
258
260
|
*/
|
|
259
261
|
stopSending(code) {
|
|
260
|
-
this.closeIncoming()
|
|
261
262
|
this.capsuleParser.writeCapsule({
|
|
262
263
|
type: ParserBase.WT_STOP_SENDING,
|
|
263
264
|
headerVints: [this.streamid, code],
|
|
@@ -375,7 +376,7 @@ export class Http2WebTransportStream {
|
|
|
375
376
|
}
|
|
376
377
|
}
|
|
377
378
|
if (finsend) {
|
|
378
|
-
this.
|
|
379
|
+
this.closeOutgoing()
|
|
379
380
|
return
|
|
380
381
|
}
|
|
381
382
|
|
package/lib/session.js
CHANGED
|
@@ -545,7 +545,7 @@ export class HttpWTSession {
|
|
|
545
545
|
onClose(args) {
|
|
546
546
|
delete this.objint // not valid any more
|
|
547
547
|
|
|
548
|
-
if (this.state !== 'connected') {
|
|
548
|
+
if (this.state !== 'connected' && this.state !== 'draining') {
|
|
549
549
|
log.error(
|
|
550
550
|
'session was closed before state was "connected" - it was "%s"',
|
|
551
551
|
this.state
|