@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.
@@ -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;IA0F1B;;;kBAGC;IAKD,+BAAwB;IAwHtB,qCAAmB;IAkEf;;OAEG;IACH,qCAAoB;IAyCpB,8BAAyB;IA2G7B,kBAA2D;IAGzD,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;0BAj2BY,OAAO,YAAY,EAAE,WAAW"}
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,gBAGC;IAED;;OAEG;IACH,gCAYC;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;;;;6CA1cY,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"}
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
@@ -310,7 +310,7 @@ export class ParserBase {
310
310
  */
311
311
  removeStream(streamid) {
312
312
  this.scheduler.Unregister(streamid)
313
- //this.wtstreams.delete(streamid) // why does this create troubles
313
+ this.wtstreams.delete(streamid)
314
314
  }
315
315
 
316
316
  /**
@@ -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.capsuleParser.removeStream(this.streamid)
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fails-components/webtransport",
3
- "version": "1.6.9",
3
+ "version": "1.6.10",
4
4
  "description": "A component to add webtransport support (server and client) to node.js using libquiche",
5
5
  "exports": {
6
6
  ".": {