@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.
- package/dist/error/index.d.ts +3 -3
- package/dist/error/index.js +10 -8
- package/dist/error/index.js.map +1 -1
- package/dist/incoming/http/readBody.js +0 -1
- package/dist/incoming/http/readBody.js.map +1 -1
- package/dist/incoming/index.js +8 -1
- package/dist/incoming/index.js.map +1 -1
- package/dist/incoming/ws/channelSubscribe.js +2 -2
- package/dist/incoming/ws/channelSubscribe.js.map +1 -1
- package/dist/incoming/ws/function.js +1 -2
- package/dist/incoming/ws/function.js.map +1 -1
- package/dist/incoming/ws/index.d.ts +2 -2
- package/dist/incoming/ws/index.js +32 -13
- package/dist/incoming/ws/index.js.map +1 -1
- package/dist/incoming/ws/stream.d.ts +3 -0
- package/dist/incoming/ws/stream.js +180 -0
- package/dist/incoming/ws/stream.js.map +1 -0
- package/dist/installFn.d.ts +1 -1
- package/dist/protocol.d.ts +2 -0
- package/dist/protocol.js +51 -0
- package/dist/protocol.js.map +1 -1
- package/dist/security.d.ts +3 -3
- package/dist/security.js +7 -7
- package/dist/security.js.map +1 -1
- package/dist/verifyRoute.d.ts +1 -1
- package/package.json +5 -5
package/dist/error/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BasedServer } from
|
|
2
|
-
import { Context } from
|
|
3
|
-
import { BasedErrorCode, ErrorPayload, BasedErrorData } from
|
|
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>;
|
package/dist/error/index.js
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
import { createErrorData, } from
|
|
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 (
|
|
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 (
|
|
10
|
+
else if ("observableId" in payload) {
|
|
9
11
|
errorData.observableId = payload.observableId;
|
|
10
12
|
}
|
|
11
|
-
else if (
|
|
13
|
+
else if ("channelId" in payload) {
|
|
12
14
|
errorData.channelId = payload.channelId;
|
|
13
15
|
}
|
|
14
|
-
if (
|
|
15
|
-
server.emit(
|
|
16
|
+
if ("err" in payload) {
|
|
17
|
+
server.emit("error", context, errorData, payload.err);
|
|
16
18
|
}
|
|
17
19
|
else {
|
|
18
|
-
server.emit(
|
|
20
|
+
server.emit("error", context, errorData);
|
|
19
21
|
}
|
|
20
22
|
return errorData;
|
|
21
23
|
}
|
package/dist/error/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,eAAe,GAChB,MAAM,eAAe,
|
|
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;
|
|
1
|
+
{"version":3,"file":"readBody.js","sourceRoot":"","sources":["../../../src/incoming/http/readBody.ts"],"names":[],"mappings":"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"}
|
package/dist/incoming/index.js
CHANGED
|
@@ -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, //
|
|
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 +
|
|
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
|
|
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,
|
|
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
|
|
2
|
-
import { WebSocketSession, Context } from
|
|
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
|
|
2
|
-
import { functionMessage } from
|
|
3
|
-
import { subscribeMessage, unsubscribeMessage } from
|
|
4
|
-
import { authMessage } from
|
|
5
|
-
import { getMessage } from
|
|
6
|
-
import { createError } from
|
|
7
|
-
import { channelSubscribeMessage, unsubscribeChannelMessage, } from
|
|
8
|
-
import { channelPublishMessage } from
|
|
9
|
-
import {
|
|
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 =
|
|
45
|
-
if (type === 7
|
|
46
|
-
|
|
47
|
-
|
|
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":"AACA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/incoming/ws/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
package/dist/installFn.d.ts
CHANGED
|
@@ -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[
|
|
3
|
+
export declare const installFn: <R extends BasedRoute>(server: BasedServer, ctx: Context, route: R, id?: number) => Promise<null | BasedFunctionConfig<R['type']>>;
|
package/dist/protocol.d.ts
CHANGED
|
@@ -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 |
|
package/dist/protocol.js.map
CHANGED
|
@@ -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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"}
|
package/dist/security.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { BasedServer } from
|
|
2
|
-
import uws from
|
|
3
|
-
import { HttpSession, WebSocketSession, Context } from
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
91
|
+
server.emit("error", {
|
|
92
92
|
session: {
|
|
93
|
-
origin: req.getHeader(
|
|
93
|
+
origin: req.getHeader("origin"),
|
|
94
94
|
headers: {},
|
|
95
|
-
ua: req.getHeader(
|
|
95
|
+
ua: req.getHeader("user-agent"),
|
|
96
96
|
ip,
|
|
97
97
|
},
|
|
98
98
|
}, { code: BasedErrorCode.RateLimit });
|
package/dist/security.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
|
package/dist/verifyRoute.d.ts
CHANGED
|
@@ -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": "
|
|
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.
|
|
20
|
+
"@saulx/diff": "^2.0.2",
|
|
21
21
|
"@saulx/hash": "^3.0.0",
|
|
22
|
-
"@saulx/utils": "^
|
|
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.
|
|
28
|
-
"@based/errors": "^1.
|
|
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",
|