@based/server 7.1.0 → 8.0.1

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.
@@ -1,4 +1,4 @@
1
- import { BasedServer } from '../server.js';
2
- import { Context } from '@based/functions';
3
- import { BasedErrorCode, ErrorPayload, BasedErrorData } from '@based/errors';
1
+ import { BasedServer } from "../server.js";
2
+ import { Context } from "@based/functions";
3
+ import { BasedErrorCode, ErrorPayload, BasedErrorData } from "@based/errors";
4
4
  export declare function createError<T extends BasedErrorCode>(server: BasedServer, context: Context, code: T, payload: ErrorPayload[T]): BasedErrorData<T>;
@@ -1,21 +1,23 @@
1
- import { createErrorData, } from '@based/errors';
2
- // export * from './types.js'
1
+ import { createErrorData, } from "@based/errors";
3
2
  export function createError(server, context, code, payload) {
4
3
  const errorData = createErrorData(code, payload);
5
- if ('requestId' in payload) {
4
+ if ("streamRequestId" in payload) {
5
+ errorData.streamRequestId = payload.streamRequestId;
6
+ }
7
+ else if ("requestId" in payload) {
6
8
  errorData.requestId = payload.requestId;
7
9
  }
8
- else if ('observableId' in payload) {
10
+ else if ("observableId" in payload) {
9
11
  errorData.observableId = payload.observableId;
10
12
  }
11
- else if ('channelId' in payload) {
13
+ else if ("channelId" in payload) {
12
14
  errorData.channelId = payload.channelId;
13
15
  }
14
- if ('err' in payload) {
15
- server.emit('error', context, errorData, payload.err);
16
+ if ("err" in payload) {
17
+ server.emit("error", context, errorData, payload.err);
16
18
  }
17
19
  else {
18
- server.emit('error', context, errorData);
20
+ server.emit("error", context, errorData);
19
21
  }
20
22
  return errorData;
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,eAAe,GAChB,MAAM,eAAe,CAAA;AAEtB,6BAA6B;AAG7B,MAAM,UAAU,WAAW,CACzB,MAAmB,EACnB,OAAgB,EAChB,IAAO,EACP,OAAwB;IAExB,MAAM,SAAS,GAAsB,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnE,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QAC3B,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACzC,CAAC;SAAM,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;QACrC,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;IAC/C,CAAC;SAAM,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QAClC,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACzC,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACvD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,WAAW,CACzB,MAAmB,EACnB,OAAgB,EAChB,IAAO,EACP,OAAwB;IAExB,MAAM,SAAS,GAAsB,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpE,IAAI,iBAAiB,IAAI,OAAO,EAAE,CAAC;QACjC,SAAS,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IACtD,CAAC;SAAM,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QAClC,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC1C,CAAC;SAAM,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;QACrC,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAChD,CAAC;SAAM,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QAClC,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -27,7 +27,6 @@ export const parseHttpPayload = (server, ctx, data, route) => {
27
27
  else if (contentType.startsWith('text') ||
28
28
  contentType === 'application/xml') {
29
29
  return decoder.decode(data);
30
- // } else if (contentType === 'multipart/form-data') {
31
30
  }
32
31
  else if (contentType === 'application/x-www-form-urlencoded') {
33
32
  const str = decoder.decode(data);
@@ -1 +1 @@
1
- {"version":3,"file":"readBody.js","sourceRoot":"","sources":["../../../src/incoming/http/readBody.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAE1C,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAA;AAExC,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAA;AAElC,MAAM,eAAe,GAAG;IACtB,6CAA6C;IAC7C,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAmB,EACnB,GAAyB,EACzB,IAAgB,EAChB,KAAiB,EACZ,EAAE;IACP,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACvD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,UAAe,CAAA;QACnB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC5B,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAA;YAC3B,CAAC;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;SAAM,IACL,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC;QAC9B,WAAW,KAAK,iBAAiB,EACjC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC3B,sDAAsD;IACxD,CAAC;SAAM,IAAI,WAAW,KAAK,mCAAmC,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAA;YAChD,OAAO,UAAU,CAAA;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAAmB,EACnB,GAAyB,EACzB,MAAkC,EAClC,KAAiB,EACjB,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAM;IACR,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAExD,IAAI,UAAU,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QACtC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACjE,OAAM;IACR,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC/D,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,gBAA4C,CAAA;QAChD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;QACxD,CAAC;aAAM,IAAI,eAAe,KAAK,MAAM,EAAE,CAAC;YACtC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAA;QACvD,CAAC;aAAM,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YACpC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAA;QACjE,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACnC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAA;gBACpB,IAAI,IAAI,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;oBAChC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;oBACjE,gBAAgB,CAAC,OAAO,EAAE,CAAA;oBAC1B,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;oBAClC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;oBAC3D,gBAAgB,CAAC,OAAO,EAAE,CAAA;oBAC1B,OAAM;gBACR,CAAC;gBACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;gBACtD,IAAI,MAAM,EAAE,CAAC;oBACX,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC3B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjC,sBAAsB;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;YACF,kFAAkF;YAClF,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,gDAAgD;YAChD,IAAI,GAAG,GAAG,CAAC,CAAA;YACX,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACd,GAAG,IAAI,CAAC,CAAC,UAAU,CAAA;YACrB,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,GAAG,CAAC,CAAA;YACT,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC9B,gBAAgB,CAAC,OAAO,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;gBAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBACb,CAAC,IAAI,CAAC,CAAC,UAAU,CAAA;gBACnB,CAAC;gBACD,YAAY;gBACZ,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;YACnD,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAA;QACtC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAA;YAExB,IAAI,IAAI,GAAG,CAAA;YACX,IAAI,IAAI,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;gBAChC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBACjE,OAAM;YACR,CAAC;YACD,IAAI,CAAC,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;gBAClC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;gBAC3D,OAAM;YACR,CAAC;YAED,GAAG,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;YACjC,KAAK,IAAI,GAAG,CAAA;YAEZ,IAAI,MAAM,EAAE,CAAC;gBACX,YAAY;gBACZ,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;YACnD,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"readBody.js","sourceRoot":"","sources":["../../../src/incoming/http/readBody.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ export default (server, { key, cert, port, ws: wsOptions = {}, disableRest, disa
27
27
  }
28
28
  if (!disableWs) {
29
29
  app.ws('/*', {
30
- maxPayloadLength: 1024 * 1024 * 30, // 20 mb max payload
30
+ maxPayloadLength: 1024 * 1024 * 30, // 30 mb max payload
31
31
  idleTimeout: 100,
32
32
  maxBackpressure: wsOptions.maxBackpressureSize,
33
33
  closeOnBackpressureLimit: wsOptions.maxBackpressureSize,
@@ -61,6 +61,12 @@ export default (server, { key, cert, port, ws: wsOptions = {}, disableRest, disa
61
61
  },
62
62
  close: (ws) => {
63
63
  const session = ws.getUserData();
64
+ if (session.streams) {
65
+ for (const key in session.streams) {
66
+ session.streams[key].stream.destroy();
67
+ delete session.streams[key];
68
+ }
69
+ }
64
70
  session.obs.forEach((id) => {
65
71
  if (unsubscribeWsIgnoreClient(server, id, session.c)) {
66
72
  // This is here for channels so we do not need to keep a seperate obs set on clients
@@ -75,6 +81,7 @@ export default (server, { key, cert, port, ws: wsOptions = {}, disableRest, disa
75
81
  session.c = null;
76
82
  },
77
83
  drain: () => {
84
+ // console.log('DRAIN?')
78
85
  // lets handle drain efficiently (or more efficiently at least)
79
86
  // call client.drain can be much more efficient
80
87
  // if (ws.client && ws.client.backpressureQueue) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/incoming/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/incoming/index.ts"],"names":[],"mappings":"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"}
@@ -106,11 +106,11 @@ isChannelIdRequester, ctx, server) => {
106
106
  return true;
107
107
  };
108
108
  export const unsubscribeChannelMessage = (arr, start, _len, _isDeflate, ctx, server) => {
109
- // | 4 header | 8 id |
109
+ // | 4 header | 1 subType | 8 id |
110
110
  if (!ctx.session) {
111
111
  return false;
112
112
  }
113
- const id = readUint8(arr, start + 4, 8);
113
+ const id = readUint8(arr, start + 5, 8);
114
114
  if (!id) {
115
115
  return false;
116
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"channelSubscribe.js","sourceRoot":"","sources":["../../../src/incoming/ws/channelSubscribe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channelSubscribe.js","sourceRoot":"","sources":["../../../src/incoming/ws/channelSubscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EACL,SAAS,GAGV,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,wBAAwB,CAAA;AAE/B,MAAM,CAAC,MAAM,sBAAsB,GAG/B,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;IAC7C,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3B,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QACjC,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAC3B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACrC,OAAM;IACR,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAC5B,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACtD,CAAC;IACD,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,eAAe,GAGjB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE;IACvC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAC3B,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAA;IAC1C,CAAC;IACD,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAC/B,EAAE;QACF,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAyB,CAC3D,GAAG,EACH,KAAK,EACL,GAAG;AACH,qCAAqC;AACrC,oBAAoB,EACpB,GAAG,EACH,MAAM,EACN,EAAE;IACF,2DAA2D;IAE3D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAA;IAC/B,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC,CAAA;IAE9D,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CACvB,MAAM,EACN,GAAG,EACH,SAAS,EACT,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC5B,IAAI,EACJ,EAAE,CACH,CAAA;IAED,MAAM,QAAQ,GAA0B,KAAK,IAAI;QAC/C,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,GAAG;QACnB,IAAI;QACJ,IAAI,EAAE,SAAS;KAChB,CAAA;IAED,IACE,gBAAgB,CACd,MAAM,EACN,GAAG;IACH,iGAAiG;IACjG,oBAAoB;QAClB,CAAC,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC;QAC9B,CAAC,CAAC,QAAQ,CAAC,eAAe,EAC5B,MAAM,CAAC,SAAS,CAAC,EAAE,CACpB,EACD,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACzB,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC;YACxC,4DAA4D;YAC5D,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YACtB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,mCAAmC;QACnC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GACX,GAAG,KAAK,OAAO,GAAG,EAAE;gBAClB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,YAAY,CACZ,aAAa,CACX,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,EAC5D,KAAK,CACN,CACF,CAAA;YACL,sEAAsE;YACtE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;YAE9D,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;gBAC7B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,YAAY,GAAG,KAAK,CAAA;gBAC9B,CAAC;gBACD,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YAC5B,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACb,CAAC;QAED,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gEAAgE;IAChE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAClC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,eAAe,EAAE;YACrD,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,EAAE;SACd,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;IAE3B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,iCAAiC;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GACX,GAAG,KAAK,OAAO,GAAG,EAAE;QAClB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,CACZ,aAAa,CACX,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,EAC5D,KAAK,CACN,CACF,CAAA;IAEL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEnB,SAAS,CACP,KAAK,EACL,MAAM,EACN,GAAG,EACH,OAAO,EACP,sBAAsB,EACtB,EAAE,EACF,CAAC,EACD,KAAK,EACL,eAAe,CAChB,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAyB,CAC7D,GAAG,EACH,KAAK,EACL,IAAI,EACJ,UAAU,EACV,GAAG,EACH,MAAM,EACN,EAAE;IACF,kCAAkC;IAClC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAEvC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
@@ -6,7 +6,6 @@ import { verifyRoute } from '../../verifyRoute.js';
6
6
  import { authorize } from '../../authorize.js';
7
7
  import { Duplex, Readable } from 'stream';
8
8
  import { readStream } from '@saulx/utils';
9
- // combine authorize with installfn AuthorizeAndInstall
10
9
  const sendFunction = (route, spec, server, ctx, payload, requestId) => {
11
10
  if (spec.relay) {
12
11
  const client = server.clients[spec.relay.client];
@@ -35,7 +34,7 @@ const sendFunction = (route, spec, server, ctx, payload, requestId) => {
35
34
  spec
36
35
  .fn(server.client, payload, ctx)
37
36
  .then(async (v) => {
38
- // TODO: allow chunked reply!
37
+ // TODO: allow chunked REPLY!
39
38
  if (v && (v instanceof Duplex || v instanceof Readable)) {
40
39
  v = await readStream(v);
41
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/incoming/ws/function.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAuB,MAAM,oBAAoB,CAAA;AAEnE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,uDAAuD;AAEvD,MAAM,YAAY,GAGd,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IACnD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,EAAE;gBACnD,KAAK;gBACL,SAAS;gBACT,GAAG,EAAE,IAAI,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC;aACnD,CAAC,CAAA;YACF,OAAM;QACR,CAAC;QAED,MAAM;aACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;aAC7C,IAAI,CAAC,KAAK,EAAE,CAAM,EAAE,EAAE;YACrB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAClB,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EACnD,IAAI,EACJ,KAAK,CACN,CAAA;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YACpB,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,EAAE;gBACnD,KAAK;gBACL,SAAS;gBACT,GAAG;aACJ,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEJ,OAAM;IACR,CAAC;IAED,IAAI;SACD,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC;SAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAChB,6BAA6B;QAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,MAAM,IAAI,CAAC,YAAY,QAAQ,CAAC,EAAE,CAAC;YACxD,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAClB,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EACnD,IAAI,EACJ,KAAK,CACN,CAAA;IACH,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,EAAE;YACnD,KAAK;YACL,SAAS;YACT,GAAG;SACJ,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAyB,CACnD,GAAG,EACH,KAAK,EACL,GAAG,EACH,SAAS,EACT,GAAG,EACH,MAAM,EACN,EAAE;IACF,2DAA2D;IAC3D,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IAE5D,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CACvB,MAAM,EACN,GAAG,EACH,UAAU,EACV,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC5B,IAAI,EACJ,SAAS,CACV,CAAA;IAED,6DAA6D;IAC7D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IACE,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EACzE,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAC/B,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,eAAe,EAAE;YACrD,KAAK;YACL,SAAS;SACV,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GACX,GAAG,KAAK,OAAO,GAAG,CAAC;QACjB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,YAAY,CACZ,aAAa,CACX,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,EAC3D,SAAS,CACV,CACF,CAAA;IAEL,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;IAE/D,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/incoming/ws/function.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { BasedServer } from '../../server.js';
2
- import { WebSocketSession, Context } from '@based/functions';
1
+ import { BasedServer } from "../../server.js";
2
+ import { WebSocketSession, Context } from "@based/functions";
3
3
  export declare const message: (server: BasedServer, ctx: Context<WebSocketSession>, msg: ArrayBuffer, isBinary: boolean) => void;
@@ -1,12 +1,13 @@
1
- import { decodeHeader, readUint8 } from '../../protocol.js';
2
- import { functionMessage } from './function.js';
3
- import { subscribeMessage, unsubscribeMessage } from './query.js';
4
- import { authMessage } from './auth.js';
5
- import { getMessage } from './get.js';
6
- import { createError } from '../../error/index.js';
7
- import { channelSubscribeMessage, unsubscribeChannelMessage, } from './channelSubscribe.js';
8
- import { channelPublishMessage } from './channelPublish.js';
9
- import { BasedErrorCode } from '@based/errors';
1
+ import { decodeHeader, readUint8 } from "../../protocol.js";
2
+ import { functionMessage } from "./function.js";
3
+ import { subscribeMessage, unsubscribeMessage } from "./query.js";
4
+ import { authMessage } from "./auth.js";
5
+ import { getMessage } from "./get.js";
6
+ import { createError } from "../../error/index.js";
7
+ import { channelSubscribeMessage, unsubscribeChannelMessage, } from "./channelSubscribe.js";
8
+ import { channelPublishMessage } from "./channelPublish.js";
9
+ import { receiveChunkStream, registerStream } from "./stream.js";
10
+ import { BasedErrorCode } from "@based/errors";
10
11
  const reader = (server, ctx, arr, start) => {
11
12
  const { len, isDeflate, type } = decodeHeader(readUint8(arr, start, 4));
12
13
  const next = len + start;
@@ -41,10 +42,27 @@ const reader = (server, ctx, arr, start) => {
41
42
  channelPublishMessage(arr, start, len, isDeflate, ctx, server)) {
42
43
  return next;
43
44
  }
44
- // type 7 = channelUnsubscribe
45
- if (type === 7 &&
46
- unsubscribeChannelMessage(arr, start, len, isDeflate, ctx, server)) {
47
- return next;
45
+ // type 7.x = subType
46
+ if (type === 7) {
47
+ const subType = readUint8(arr, start + 4, 1);
48
+ // type 7.0 = channelUnsubscribe
49
+ if (subType === 0) {
50
+ if (unsubscribeChannelMessage(arr, start, len, isDeflate, ctx, server)) {
51
+ return next;
52
+ }
53
+ }
54
+ // type 7.1 = register stream
55
+ if (subType === 1) {
56
+ if (registerStream(arr, start, len, isDeflate, ctx, server)) {
57
+ return next;
58
+ }
59
+ }
60
+ // type 7.2 = chunk
61
+ if (subType === 2) {
62
+ if (receiveChunkStream(arr, start, len, isDeflate, ctx, server)) {
63
+ return next;
64
+ }
65
+ }
48
66
  }
49
67
  return next;
50
68
  };
@@ -74,6 +92,7 @@ export const message = (server, ctx, msg, isBinary) => {
74
92
  return;
75
93
  }
76
94
  next = n;
95
+ // TODO if next > len illegal request abort & block
77
96
  }
78
97
  };
79
98
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/incoming/ws/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/incoming/ws/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { BinaryMessageHandler } from "./types.js";
2
+ export declare const registerStream: BinaryMessageHandler;
3
+ export declare const receiveChunkStream: BinaryMessageHandler;
@@ -0,0 +1,180 @@
1
+ import { decodePayload, decodeName, readUint8, parsePayload, encodeStreamFunctionResponse, valueToBuffer, encodeStreamFunctionChunkResponse, } from "../../protocol.js";
2
+ import { BasedDataStream } from "@based/functions";
3
+ import mimeTypes from "mime-types";
4
+ import { authorize } from "../../authorize.js";
5
+ import { verifyRoute } from "../../verifyRoute.js";
6
+ import { rateLimitRequest } from "../../security.js";
7
+ import { sendError } from "../../sendError.js";
8
+ import { BasedErrorCode } from "@based/errors";
9
+ import zlib from "node:zlib";
10
+ const startStreamFunction = (route, spec, server, ctx, payload, streamRequestId) => {
11
+ spec
12
+ .fn(server.client, payload, ctx)
13
+ .then(async (v) => {
14
+ ctx.session?.ws.send(encodeStreamFunctionResponse(streamRequestId, valueToBuffer(v)), true, false);
15
+ })
16
+ .catch((err) => {
17
+ sendError(server, ctx, BasedErrorCode.FunctionError, {
18
+ route,
19
+ streamRequestId,
20
+ err,
21
+ });
22
+ });
23
+ };
24
+ export const registerStream = (arr, start, len, isDeflate, ctx, server) => {
25
+ // | 4 header | 1 subType = 1 | 3 reqId | 4 content-size | 1 nameLen | 1 mimeLen | 1 fnNameLen | 1 extensionLength | name | mime | fnName | extension | payload
26
+ if (!ctx.session) {
27
+ return false;
28
+ }
29
+ const infoLen = 16;
30
+ const reqId = readUint8(arr, start + 5, 3);
31
+ if (reqId === undefined) {
32
+ return false;
33
+ }
34
+ if (ctx.session.streams?.[reqId]) {
35
+ return false;
36
+ }
37
+ const contentSize = readUint8(arr, start + 8, 4);
38
+ if (!contentSize) {
39
+ return false;
40
+ }
41
+ const nameLen = readUint8(arr, start + 12, 1);
42
+ const mimeLen = readUint8(arr, start + 13, 1);
43
+ const fnNameLen = readUint8(arr, start + 14, 1);
44
+ const extensionLen = readUint8(arr, start + 15, 1);
45
+ const name = decodeName(arr, start + infoLen, start + infoLen + nameLen);
46
+ let mime = decodeName(arr, start + infoLen + nameLen, start + infoLen + nameLen + mimeLen);
47
+ const fnName = decodeName(arr, start + infoLen + nameLen + mimeLen, start + infoLen + mimeLen + nameLen + fnNameLen);
48
+ let extension = decodeName(arr, start + infoLen + nameLen + mimeLen + fnNameLen, start + infoLen + mimeLen + nameLen + fnNameLen + extensionLen);
49
+ const route = verifyRoute(server, ctx, "stream", server.functions.route(fnName), fnName, reqId);
50
+ // TODO: add strictness setting - if strict return false here
51
+ if (route === null) {
52
+ return true;
53
+ }
54
+ if (rateLimitRequest(server, ctx, route.rateLimitTokens, server.rateLimit.ws)) {
55
+ ctx.session.ws.close();
56
+ return false;
57
+ }
58
+ const payload = len === nameLen + infoLen + mimeLen + extensionLen
59
+ ? undefined
60
+ : parsePayload(decodePayload(new Uint8Array(arr.slice(start + infoLen + nameLen + mimeLen + fnNameLen + extensionLen, start + len)), isDeflate));
61
+ if (!ctx.session.streams) {
62
+ ctx.session.streams = {};
63
+ }
64
+ if (!mime) {
65
+ if (extension) {
66
+ const mimeLookup = mimeTypes.lookup(extension);
67
+ if (mimeLookup) {
68
+ mime = mimeLookup;
69
+ }
70
+ }
71
+ else {
72
+ const e = name.split(".");
73
+ const extension = e[e.length - 1];
74
+ if (name) {
75
+ const t = mimeTypes.lookup(extension);
76
+ if (t) {
77
+ mime = t;
78
+ }
79
+ }
80
+ else {
81
+ mime = "*/*";
82
+ }
83
+ }
84
+ }
85
+ if (!extension) {
86
+ extension = mimeTypes.extension(mime) || "";
87
+ }
88
+ const streamPayload = {
89
+ fileName: name,
90
+ mimeType: mime,
91
+ size: contentSize,
92
+ extension,
93
+ fn: fnName,
94
+ payload,
95
+ stream: new BasedDataStream(contentSize),
96
+ seqId: 0,
97
+ };
98
+ ctx.session.streams[reqId] = streamPayload;
99
+ authorize(route, server, ctx, streamPayload, startStreamFunction, reqId, undefined, route.public, () => {
100
+ if (!ctx.session) {
101
+ return;
102
+ }
103
+ console.log("not authorized...");
104
+ delete ctx.session.streams[reqId];
105
+ });
106
+ return true;
107
+ };
108
+ const getMaxChunkSize = (server) => {
109
+ return 0;
110
+ };
111
+ // add counter for active streams
112
+ export const receiveChunkStream = (arr, start, len, isDeflate, ctx, server) => {
113
+ // Type 7.2 Chunk
114
+ // | 4 header | 1 subType = 2 | 3 reqId | 1 seqId | content
115
+ if (!ctx.session) {
116
+ return false;
117
+ }
118
+ const infoLen = 9;
119
+ const reqId = readUint8(arr, start + 5, 3);
120
+ const seqId = readUint8(arr, start + 8, 1);
121
+ if (reqId === undefined) {
122
+ return false;
123
+ }
124
+ const streamPayload = ctx.session.streams?.[reqId];
125
+ if (!streamPayload) {
126
+ return false;
127
+ }
128
+ if (seqId - 1 !== streamPayload.seqId) {
129
+ const sRoute = {
130
+ name: "stream-chunk",
131
+ type: "stream",
132
+ };
133
+ sendError(server, ctx, BasedErrorCode.FunctionError, {
134
+ route: sRoute,
135
+ streamRequestId: reqId,
136
+ err: `Chunk is out of order
137
+ - current chunk #${seqId},
138
+ - previous chunk #${streamPayload.seqId}`,
139
+ });
140
+ console.log("ERROR chunky");
141
+ streamPayload.stream.destroy();
142
+ delete ctx.session.streams[reqId];
143
+ // maybe return false... (something is wrong)
144
+ return true;
145
+ }
146
+ streamPayload.seqId = seqId === 255 ? 0 : seqId;
147
+ // encoding can still be a thing for streams test with png's
148
+ const chunk = !isDeflate
149
+ ? arr.slice(infoLen + start, start + len)
150
+ : zlib.inflateRawSync(arr.slice(infoLen + start, start + len));
151
+ if (streamPayload.stream.paused) {
152
+ streamPayload.stream.once("resume", () => {
153
+ if (!ctx.session) {
154
+ streamPayload.stream.destroy();
155
+ return false;
156
+ }
157
+ if (streamPayload.stream.receivedBytes + chunk.byteLength ===
158
+ streamPayload.size) {
159
+ streamPayload.stream.end(chunk);
160
+ ctx.session.ws.send(encodeStreamFunctionChunkResponse(reqId, seqId, 1, getMaxChunkSize(server)), true, false);
161
+ }
162
+ else {
163
+ streamPayload.stream.write(chunk);
164
+ ctx.session.ws.send(encodeStreamFunctionChunkResponse(reqId, seqId, 0, getMaxChunkSize(server)), true, false);
165
+ }
166
+ });
167
+ }
168
+ else {
169
+ streamPayload.stream.write(chunk);
170
+ if (streamPayload.stream.receivedBytes === streamPayload.size) {
171
+ ctx.session.ws.send(encodeStreamFunctionChunkResponse(reqId, seqId, 1, getMaxChunkSize(server)), true, false);
172
+ streamPayload.stream.end();
173
+ }
174
+ else {
175
+ ctx.session.ws.send(encodeStreamFunctionChunkResponse(reqId, seqId, 0, getMaxChunkSize(server)), true, false);
176
+ }
177
+ }
178
+ return true;
179
+ };
180
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/incoming/ws/stream.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { BasedServer } from './server.js';
2
2
  import { Context, BasedRoute, BasedFunctionConfig } from '@based/functions';
3
- export declare const installFn: <R extends BasedRoute>(server: BasedServer, ctx: Context, route: R, id?: number) => Promise<BasedFunctionConfig<R["type"]>>;
3
+ export declare const installFn: <R extends BasedRoute>(server: BasedServer, ctx: Context, route: R, id?: number) => Promise<null | BasedFunctionConfig<R['type']>>;
@@ -13,6 +13,8 @@ export declare const decodePayload: (payload: Uint8Array, isDeflate: boolean) =>
13
13
  export declare const parsePayload: (payload: any) => any;
14
14
  export declare const decodeName: (arr: Uint8Array, start: number, end: number) => string;
15
15
  export declare const encodeFunctionResponse: (id: number, buffer: Buffer) => Uint8Array;
16
+ export declare const encodeStreamFunctionResponse: (id: number, buffer: Buffer) => Uint8Array;
17
+ export declare const encodeStreamFunctionChunkResponse: (id: number, seqId: number, code?: number, maxChunkSize?: number) => Uint8Array;
16
18
  export declare const encodeGetResponse: (id: number) => Uint8Array;
17
19
  export declare const updateId: (payload: Uint8Array, id: number) => Uint8Array;
18
20
  export declare const encodeObservableResponse: (id: number, checksum: number, buffer: Buffer) => [Uint8Array, boolean];
package/dist/protocol.js CHANGED
@@ -119,6 +119,57 @@ export const encodeFunctionResponse = (id, buffer) => {
119
119
  return new Uint8Array(0);
120
120
  }
121
121
  };
122
+ export const encodeStreamFunctionResponse = (id, buffer) => {
123
+ // Type 7
124
+ // | 4 header | 1 subType | 3 id | * payload |
125
+ let isDeflate = false;
126
+ // TODO: implement for streams!
127
+ // chunk isChunk | isNotCunk | isLastchunk 0|1 (use 1 bye for now?)
128
+ const chunks = 1;
129
+ if (buffer.length > COMPRESS_FROM_BYTES) {
130
+ isDeflate = true;
131
+ buffer = zlib.deflateRawSync(buffer, {});
132
+ }
133
+ if (chunks === 1) {
134
+ const headerSize = 4;
135
+ const idSize = 3;
136
+ const subTypeSize = 1;
137
+ const msgSize = idSize + subTypeSize + buffer.length;
138
+ const header = encodeHeader(7, isDeflate, msgSize);
139
+ // not very nessecary but ok
140
+ const array = new Uint8Array(headerSize + msgSize);
141
+ storeUint8(array, header, 0, 4);
142
+ storeUint8(array, 1, 4, 1);
143
+ storeUint8(array, id, 5, 3);
144
+ if (buffer.length) {
145
+ array.set(buffer, 8);
146
+ }
147
+ return array;
148
+ }
149
+ else {
150
+ console.warn('chunk not implemented yet');
151
+ return new Uint8Array(0);
152
+ }
153
+ };
154
+ export const encodeStreamFunctionChunkResponse = (id, seqId, code = 0, maxChunkSize = 0) => {
155
+ // Type 7.2
156
+ // | 4 header | 1 subType | 3 id | 1 seqId | 1 code | maxChunkSize?
157
+ let msgSize = 6;
158
+ if (maxChunkSize) {
159
+ msgSize += 3;
160
+ }
161
+ const header = encodeHeader(7, false, msgSize);
162
+ const array = new Uint8Array(4 + msgSize);
163
+ storeUint8(array, header, 0, 4);
164
+ storeUint8(array, 2, 4, 1);
165
+ storeUint8(array, id, 5, 3);
166
+ storeUint8(array, seqId, 8, 1);
167
+ storeUint8(array, code, 9, 1);
168
+ if (maxChunkSize) {
169
+ storeUint8(array, maxChunkSize, 10, 3);
170
+ }
171
+ return array;
172
+ };
122
173
  export const encodeGetResponse = (id) => {
123
174
  // Type 4
124
175
  // | 4 header | 8 id |
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { BasedServer } from './server.js';
2
- import uws from '@based/uws';
3
- import { HttpSession, WebSocketSession, Context } from '@based/functions';
1
+ import type { BasedServer } from "./server.js";
2
+ import uws from "@based/uws";
3
+ import { HttpSession, WebSocketSession, Context } from "@based/functions";
4
4
  export declare const rateLimitRequest: (server: BasedServer, ctx: Context<WebSocketSession | HttpSession>, tokens: number, max: number) => boolean;
5
5
  export declare const endRateLimitHttp: (res: uws.HttpResponse) => void;
6
6
  export declare const blockIncomingRequest: (server: BasedServer, ip: string, res: uws.HttpResponse, req: uws.HttpRequest, max: number, tokens: number) => boolean;
package/dist/security.js CHANGED
@@ -1,4 +1,4 @@
1
- import { BasedErrorCode } from '@based/errors';
1
+ import { BasedErrorCode } from "@based/errors";
2
2
  var IsBlocked;
3
3
  (function (IsBlocked) {
4
4
  IsBlocked[IsBlocked["notBlocked"] = 0] = "notBlocked";
@@ -22,7 +22,7 @@ const drainRequestCounter = (server) => {
22
22
  drainRequestCounter(server);
23
23
  }
24
24
  if (blockedEvents.size) {
25
- server.emit('error', server.client.ctx, {
25
+ server.emit("error", server.client.ctx, {
26
26
  code: BasedErrorCode.Block,
27
27
  blockedEvents,
28
28
  });
@@ -62,13 +62,13 @@ export const rateLimitRequest = (server, ctx, tokens, max) => {
62
62
  return false;
63
63
  }
64
64
  if (code === 2) {
65
- server.emit('error', ctx, { code: BasedErrorCode.RateLimit });
65
+ server.emit("error", ctx, { code: BasedErrorCode.RateLimit });
66
66
  }
67
67
  return true;
68
68
  };
69
69
  export const endRateLimitHttp = (res) => {
70
70
  res.cork(() => {
71
- res.writeStatus('429 Too Many Requests');
71
+ res.writeStatus("429 Too Many Requests");
72
72
  res.end();
73
73
  });
74
74
  };
@@ -88,11 +88,11 @@ export const blockIncomingRequest = (server, ip, res, req, max, tokens) => {
88
88
  return false;
89
89
  }
90
90
  if (code === 2) {
91
- server.emit('error', {
91
+ server.emit("error", {
92
92
  session: {
93
- origin: req.getHeader('origin'),
93
+ origin: req.getHeader("origin"),
94
94
  headers: {},
95
- ua: req.getHeader('user-agent'),
95
+ ua: req.getHeader("user-agent"),
96
96
  ip,
97
97
  },
98
98
  }, { code: BasedErrorCode.RateLimit });
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { Context, BasedRoute, BasedFunctionTypes } from '@based/functions';
2
2
  import { BasedServer } from './server.js';
3
- export declare const verifyRoute: <T extends BasedFunctionTypes>(server: BasedServer, ctx: Context, type: T, route: BasedRoute | null, name: string, id?: number) => BasedRoute<T>;
3
+ export declare const verifyRoute: <T extends BasedFunctionTypes>(server: BasedServer, ctx: Context, type: T, route: BasedRoute | null, name: string, id?: number) => BasedRoute<T> | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@based/server",
3
- "version": "7.1.0",
3
+ "version": "8.0.1",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -17,15 +17,15 @@
17
17
  "dependencies": {
18
18
  "utility-types": "^3.10.0",
19
19
  "@based/uws": "^4.1.0",
20
- "@saulx/diff": "^2.0.1",
20
+ "@saulx/diff": "^2.0.2",
21
21
  "@saulx/hash": "^3.0.0",
22
- "@saulx/utils": "^4.0.1",
22
+ "@saulx/utils": "^5.0.0",
23
23
  "picocolors": "^1.0.0",
24
24
  "jsonexport": "^3.2.0",
25
25
  "jsonwebtoken": "^8.5.1",
26
26
  "mime-types": "^2.1.31",
27
- "@based/functions": "^3.0.1",
28
- "@based/errors": "^1.0.0"
27
+ "@based/functions": "^3.0.2",
28
+ "@based/errors": "^1.3.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/mime-types": "2.1.1",