@based/server 6.8.0 → 7.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/auth/defaultConfig.js +4 -9
- package/dist/auth/defaultConfig.js.map +1 -1
- package/dist/auth/index.d.ts +3 -3
- package/dist/auth/index.js +21 -24
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/parseAuthState.js +3 -5
- package/dist/auth/parseAuthState.js.map +1 -1
- package/dist/auth/parseJSONAuthState.js +1 -3
- package/dist/auth/parseJSONAuthState.js.map +1 -1
- package/dist/authorize.d.ts +2 -2
- package/dist/authorize.js +17 -22
- package/dist/authorize.js.map +1 -1
- package/dist/channel/cleanup.d.ts +1 -1
- package/dist/channel/cleanup.js +2 -6
- package/dist/channel/cleanup.js.map +1 -1
- package/dist/channel/create.d.ts +2 -2
- package/dist/channel/create.js +5 -9
- package/dist/channel/create.js.map +1 -1
- package/dist/channel/destroy.d.ts +2 -2
- package/dist/channel/destroy.js +7 -12
- package/dist/channel/destroy.js.map +1 -1
- package/dist/channel/extend.d.ts +3 -3
- package/dist/channel/extend.js +2 -7
- package/dist/channel/extend.js.map +1 -1
- package/dist/channel/get.d.ts +2 -2
- package/dist/channel/get.js +4 -9
- package/dist/channel/get.js.map +1 -1
- package/dist/channel/index.d.ts +8 -8
- package/dist/channel/index.js +8 -24
- package/dist/channel/index.js.map +1 -1
- package/dist/channel/start.d.ts +1 -1
- package/dist/channel/start.js +10 -15
- package/dist/channel/start.js.map +1 -1
- package/dist/channel/subscribe.d.ts +1 -1
- package/dist/channel/subscribe.js +8 -13
- package/dist/channel/subscribe.js.map +1 -1
- package/dist/channel/types.js +1 -2
- package/dist/channel/types.js.map +1 -1
- package/dist/channel/unsub.d.ts +1 -1
- package/dist/channel/unsub.js +7 -13
- package/dist/channel/unsub.js.map +1 -1
- package/dist/compress.d.ts +1 -1
- package/dist/compress.js +9 -16
- package/dist/compress.js.map +1 -1
- package/dist/error/errorTypeHandlers.d.ts +1 -1
- package/dist/error/errorTypeHandlers.js +20 -23
- package/dist/error/errorTypeHandlers.js.map +1 -1
- package/dist/error/index.d.ts +4 -4
- package/dist/error/index.js +10 -29
- package/dist/error/index.js.map +1 -1
- package/dist/error/types.js +3 -6
- package/dist/error/types.js.map +1 -1
- package/dist/functionApi/callFunction.d.ts +1 -1
- package/dist/functionApi/callFunction.js +10 -14
- package/dist/functionApi/callFunction.js.map +1 -1
- package/dist/functionApi/channelSubscribe.d.ts +1 -1
- package/dist/functionApi/channelSubscribe.js +14 -18
- package/dist/functionApi/channelSubscribe.js.map +1 -1
- package/dist/functionApi/client/channel.js +12 -12
- package/dist/functionApi/client/channel.js.map +1 -1
- package/dist/functionApi/client/index.d.ts +4 -4
- package/dist/functionApi/client/index.js +15 -21
- package/dist/functionApi/client/index.js.map +1 -1
- package/dist/functionApi/client/query.d.ts +1 -1
- package/dist/functionApi/client/query.js +9 -10
- package/dist/functionApi/client/query.js.map +1 -1
- package/dist/functionApi/get.d.ts +1 -1
- package/dist/functionApi/get.js +17 -21
- package/dist/functionApi/get.js.map +1 -1
- package/dist/functionApi/index.d.ts +7 -8
- package/dist/functionApi/index.js +7 -26
- package/dist/functionApi/index.js.map +1 -1
- package/dist/functionApi/observe.d.ts +2 -2
- package/dist/functionApi/observe.js +15 -19
- package/dist/functionApi/observe.js.map +1 -1
- package/dist/functionApi/publish.d.ts +1 -1
- package/dist/functionApi/publish.js +7 -11
- package/dist/functionApi/publish.js.map +1 -1
- package/dist/functionApi/stream.d.ts +1 -1
- package/dist/functionApi/stream.js +13 -17
- package/dist/functionApi/stream.js.map +1 -1
- package/dist/functions/genVersion.js +8 -12
- package/dist/functions/genVersion.js.map +1 -1
- package/dist/functions/index.d.ts +5 -4
- package/dist/functions/index.js +54 -59
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/timeout.js +2 -7
- package/dist/functions/timeout.js.map +1 -1
- package/dist/functions/types.d.ts +1 -1
- package/dist/functions/types.js +1 -2
- package/dist/incoming/http/function.d.ts +1 -1
- package/dist/incoming/http/function.js +13 -17
- package/dist/incoming/http/function.js.map +1 -1
- package/dist/incoming/http/handleRequest.d.ts +3 -0
- package/dist/incoming/http/handleRequest.js +11 -0
- package/dist/incoming/http/handleRequest.js.map +1 -0
- package/dist/incoming/http/index.d.ts +1 -1
- package/dist/incoming/http/index.js +54 -90
- package/dist/incoming/http/index.js.map +1 -1
- package/dist/incoming/http/parseQuery.d.ts +2 -2
- package/dist/incoming/http/parseQuery.js +9 -8
- package/dist/incoming/http/parseQuery.js.map +1 -1
- package/dist/incoming/http/publish.d.ts +1 -1
- package/dist/incoming/http/publish.js +16 -20
- package/dist/incoming/http/publish.js.map +1 -1
- package/dist/incoming/http/query.d.ts +1 -1
- package/dist/incoming/http/query.js +32 -46
- package/dist/incoming/http/query.js.map +1 -1
- package/dist/incoming/http/readBody.d.ts +1 -1
- package/dist/incoming/http/readBody.js +17 -25
- package/dist/incoming/http/readBody.js.map +1 -1
- package/dist/incoming/http/streamFunction/getExtension.js +3 -8
- package/dist/incoming/http/streamFunction/getExtension.js.map +1 -1
- package/dist/incoming/http/streamFunction/index.d.ts +1 -1
- package/dist/incoming/http/streamFunction/index.js +8 -12
- package/dist/incoming/http/streamFunction/index.js.map +1 -1
- package/dist/incoming/http/streamFunction/multiPart/index.d.ts +1 -1
- package/dist/incoming/http/streamFunction/multiPart/index.js +12 -19
- package/dist/incoming/http/streamFunction/multiPart/index.js.map +1 -1
- package/dist/incoming/http/streamFunction/multiPart/readFormData.d.ts +1 -1
- package/dist/incoming/http/streamFunction/multiPart/readFormData.js +11 -16
- package/dist/incoming/http/streamFunction/multiPart/readFormData.js.map +1 -1
- package/dist/incoming/http/streamFunction/stream/createStream.d.ts +1 -1
- package/dist/incoming/http/streamFunction/stream/createStream.js +13 -18
- package/dist/incoming/http/streamFunction/stream/createStream.js.map +1 -1
- package/dist/incoming/http/streamFunction/stream/index.d.ts +1 -1
- package/dist/incoming/http/streamFunction/stream/index.js +19 -26
- package/dist/incoming/http/streamFunction/stream/index.js.map +1 -1
- package/dist/incoming/index.d.ts +1 -1
- package/dist/incoming/index.js +19 -24
- package/dist/incoming/index.js.map +1 -1
- package/dist/incoming/upgrade.d.ts +1 -1
- package/dist/incoming/upgrade.js +8 -13
- package/dist/incoming/upgrade.js.map +1 -1
- package/dist/incoming/ws/auth.d.ts +2 -2
- package/dist/incoming/ws/auth.js +19 -25
- package/dist/incoming/ws/auth.js.map +1 -1
- package/dist/incoming/ws/channelPublish.d.ts +1 -1
- package/dist/incoming/ws/channelPublish.js +17 -21
- package/dist/incoming/ws/channelPublish.js.map +1 -1
- package/dist/incoming/ws/channelSubscribe.d.ts +2 -2
- package/dist/incoming/ws/channelSubscribe.js +32 -38
- package/dist/incoming/ws/channelSubscribe.js.map +1 -1
- package/dist/incoming/ws/function.d.ts +1 -1
- package/dist/incoming/ws/function.js +23 -27
- package/dist/incoming/ws/function.js.map +1 -1
- package/dist/incoming/ws/get.d.ts +1 -1
- package/dist/incoming/ws/get.js +34 -38
- package/dist/incoming/ws/get.js.map +1 -1
- package/dist/incoming/ws/index.d.ts +1 -1
- package/dist/incoming/ws/index.js +19 -23
- package/dist/incoming/ws/index.js.map +1 -1
- package/dist/incoming/ws/query.d.ts +2 -2
- package/dist/incoming/ws/query.js +26 -32
- package/dist/incoming/ws/query.js.map +1 -1
- package/dist/incoming/ws/types.d.ts +1 -1
- package/dist/incoming/ws/types.js +1 -2
- package/dist/index.d.ts +9 -9
- package/dist/index.js +9 -29
- package/dist/index.js.map +1 -1
- package/dist/installFn.d.ts +3 -3
- package/dist/installFn.js +10 -14
- package/dist/installFn.js.map +1 -1
- package/dist/protocol.d.ts +1 -1
- package/dist/protocol.js +55 -78
- package/dist/protocol.js.map +1 -1
- package/dist/query/cleanup.d.ts +1 -1
- package/dist/query/cleanup.js +2 -6
- package/dist/query/cleanup.js.map +1 -1
- package/dist/query/create.d.ts +2 -2
- package/dist/query/create.js +5 -9
- package/dist/query/create.js.map +1 -1
- package/dist/query/destroy.d.ts +2 -2
- package/dist/query/destroy.js +7 -12
- package/dist/query/destroy.js.map +1 -1
- package/dist/query/extendCache.d.ts +1 -1
- package/dist/query/extendCache.js +1 -5
- package/dist/query/extendCache.js.map +1 -1
- package/dist/query/genObservableId.js +4 -8
- package/dist/query/genObservableId.js.map +1 -1
- package/dist/query/get.d.ts +2 -2
- package/dist/query/get.js +4 -9
- package/dist/query/get.js.map +1 -1
- package/dist/query/index.d.ts +10 -10
- package/dist/query/index.js +10 -26
- package/dist/query/index.js.map +1 -1
- package/dist/query/send.d.ts +2 -2
- package/dist/query/send.js +8 -13
- package/dist/query/send.js.map +1 -1
- package/dist/query/start/error.d.ts +2 -2
- package/dist/query/start/error.js +6 -10
- package/dist/query/start/error.js.map +1 -1
- package/dist/query/start/index.d.ts +1 -1
- package/dist/query/start/index.js +14 -19
- package/dist/query/start/index.js.map +1 -1
- package/dist/query/start/relay.d.ts +2 -2
- package/dist/query/start/relay.js +3 -7
- package/dist/query/start/relay.js.map +1 -1
- package/dist/query/start/update.d.ts +2 -2
- package/dist/query/start/update.js +18 -19
- package/dist/query/start/update.js.map +1 -1
- package/dist/query/subscribe.d.ts +3 -3
- package/dist/query/subscribe.js +13 -19
- package/dist/query/subscribe.js.map +1 -1
- package/dist/query/types.d.ts +1 -1
- package/dist/query/types.js +1 -2
- package/dist/query/unsub.d.ts +2 -2
- package/dist/query/unsub.js +7 -13
- package/dist/query/unsub.js.map +1 -1
- package/dist/security.d.ts +1 -1
- package/dist/security.js +8 -14
- package/dist/security.js.map +1 -1
- package/dist/sendError.d.ts +2 -2
- package/dist/sendError.js +21 -28
- package/dist/sendError.js.map +1 -1
- package/dist/sendHttpResponse.d.ts +1 -1
- package/dist/sendHttpResponse.js +11 -17
- package/dist/sendHttpResponse.js.map +1 -1
- package/dist/server.d.ts +8 -8
- package/dist/server.js +73 -64
- package/dist/server.js.map +1 -1
- package/dist/verifyRoute.d.ts +2 -2
- package/dist/verifyRoute.js +13 -17
- package/dist/verifyRoute.js.map +1 -1
- package/package.json +10 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/incoming/http/query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/incoming/http/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { HttpSession, Context, BasedRoute } from '@based/functions';
|
|
2
|
-
import { BasedServer } from '../../server';
|
|
2
|
+
import { BasedServer } from '../../server.js';
|
|
3
3
|
export declare const parseHttpPayload: (server: BasedServer, ctx: Context<HttpSession>, data: Uint8Array, route: BasedRoute) => any;
|
|
4
4
|
export declare const readBody: (server: BasedServer, ctx: Context<HttpSession>, onData: (data: any | void) => void, route: BasedRoute) => void;
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.readBody = exports.parseHttpPayload = void 0;
|
|
7
|
-
const node_zlib_1 = __importDefault(require("node:zlib"));
|
|
8
|
-
const error_1 = require("../../error");
|
|
9
|
-
const sendError_1 = require("../../sendError");
|
|
1
|
+
import zlib from 'node:zlib';
|
|
2
|
+
import { BasedErrorCode } from '../../error/index.js';
|
|
3
|
+
import { sendError } from '../../sendError.js';
|
|
10
4
|
const decoder = new TextDecoder('utf-8');
|
|
11
5
|
const MAX_CHUNK_SIZE = 1024 * 1024;
|
|
12
6
|
const UNCOMPRESS_OPTS = {
|
|
13
7
|
// can be endless scince we limit by incoming
|
|
14
8
|
chunkSize: 1024 * 1024 * 1000,
|
|
15
9
|
};
|
|
16
|
-
const parseHttpPayload = (server, ctx, data, route) => {
|
|
10
|
+
export const parseHttpPayload = (server, ctx, data, route) => {
|
|
17
11
|
const contentType = ctx.session.headers['content-type'];
|
|
18
12
|
if (!contentType || contentType.startsWith('application/json')) {
|
|
19
13
|
const str = decoder.decode(data);
|
|
@@ -26,7 +20,7 @@ const parseHttpPayload = (server, ctx, data, route) => {
|
|
|
26
20
|
return parsedData;
|
|
27
21
|
}
|
|
28
22
|
catch (err) {
|
|
29
|
-
|
|
23
|
+
sendError(server, ctx, BasedErrorCode.InvalidPayload, { route });
|
|
30
24
|
}
|
|
31
25
|
}
|
|
32
26
|
else if (contentType.startsWith('text') ||
|
|
@@ -37,14 +31,13 @@ const parseHttpPayload = (server, ctx, data, route) => {
|
|
|
37
31
|
return data;
|
|
38
32
|
}
|
|
39
33
|
};
|
|
40
|
-
|
|
41
|
-
const readBody = (server, ctx, onData, route) => {
|
|
34
|
+
export const readBody = (server, ctx, onData, route) => {
|
|
42
35
|
if (!ctx.session) {
|
|
43
36
|
return;
|
|
44
37
|
}
|
|
45
38
|
const contentLen = ctx.session.headers['content-length'];
|
|
46
39
|
if (contentLen > route.maxPayloadSize) {
|
|
47
|
-
|
|
40
|
+
sendError(server, ctx, BasedErrorCode.PayloadTooLarge, { route });
|
|
48
41
|
return;
|
|
49
42
|
}
|
|
50
43
|
const contentEncoding = ctx.session.headers['content-encoding'];
|
|
@@ -52,24 +45,24 @@ const readBody = (server, ctx, onData, route) => {
|
|
|
52
45
|
if (contentEncoding) {
|
|
53
46
|
let uncompressStream;
|
|
54
47
|
if (contentEncoding === 'deflate') {
|
|
55
|
-
uncompressStream =
|
|
48
|
+
uncompressStream = zlib.createInflate(UNCOMPRESS_OPTS);
|
|
56
49
|
}
|
|
57
50
|
else if (contentEncoding === 'gzip') {
|
|
58
|
-
uncompressStream =
|
|
51
|
+
uncompressStream = zlib.createGunzip(UNCOMPRESS_OPTS);
|
|
59
52
|
}
|
|
60
53
|
else if (contentEncoding === 'br') {
|
|
61
|
-
uncompressStream =
|
|
54
|
+
uncompressStream = zlib.createBrotliDecompress(UNCOMPRESS_OPTS);
|
|
62
55
|
}
|
|
63
56
|
if (uncompressStream) {
|
|
64
57
|
ctx.session.res.onData((c, isLast) => {
|
|
65
58
|
size += c.byteLength;
|
|
66
59
|
if (size > route.maxPayloadSize) {
|
|
67
|
-
|
|
60
|
+
sendError(server, ctx, BasedErrorCode.PayloadTooLarge, { route });
|
|
68
61
|
uncompressStream.destroy();
|
|
69
62
|
return;
|
|
70
63
|
}
|
|
71
64
|
if (c.byteLength > MAX_CHUNK_SIZE) {
|
|
72
|
-
|
|
65
|
+
sendError(server, ctx, BasedErrorCode.ChunkTooLarge, route);
|
|
73
66
|
uncompressStream.destroy();
|
|
74
67
|
return;
|
|
75
68
|
}
|
|
@@ -100,11 +93,11 @@ const readBody = (server, ctx, onData, route) => {
|
|
|
100
93
|
i += c.byteLength;
|
|
101
94
|
}
|
|
102
95
|
// readValue
|
|
103
|
-
onData(
|
|
96
|
+
onData(parseHttpPayload(server, ctx, buf, route));
|
|
104
97
|
});
|
|
105
98
|
}
|
|
106
99
|
else {
|
|
107
|
-
|
|
100
|
+
sendError(server, ctx, BasedErrorCode.InvalidPayload, { route });
|
|
108
101
|
}
|
|
109
102
|
}
|
|
110
103
|
else {
|
|
@@ -114,21 +107,20 @@ const readBody = (server, ctx, onData, route) => {
|
|
|
114
107
|
const len = c.byteLength;
|
|
115
108
|
size += len;
|
|
116
109
|
if (size > route.maxPayloadSize) {
|
|
117
|
-
|
|
110
|
+
sendError(server, ctx, BasedErrorCode.PayloadTooLarge, { route });
|
|
118
111
|
return;
|
|
119
112
|
}
|
|
120
113
|
if (c.byteLength > MAX_CHUNK_SIZE) {
|
|
121
|
-
|
|
114
|
+
sendError(server, ctx, BasedErrorCode.ChunkTooLarge, route);
|
|
122
115
|
return;
|
|
123
116
|
}
|
|
124
117
|
buf.set(new Uint8Array(c), index);
|
|
125
118
|
index += len;
|
|
126
119
|
if (isLast) {
|
|
127
120
|
// readValue
|
|
128
|
-
onData(
|
|
121
|
+
onData(parseHttpPayload(server, ctx, buf, route));
|
|
129
122
|
}
|
|
130
123
|
});
|
|
131
124
|
}
|
|
132
125
|
};
|
|
133
|
-
exports.readBody = readBody;
|
|
134
126
|
//# sourceMappingURL=readBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readBody.js","sourceRoot":"","sources":["../../../src/incoming/http/readBody.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"readBody.js","sourceRoot":"","sources":["../../../src/incoming/http/readBody.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const mime_types_1 = __importDefault(require("mime-types"));
|
|
7
|
-
exports.default = (mimeType) => {
|
|
1
|
+
import mimeTypes from 'mime-types';
|
|
2
|
+
export default (mimeType) => {
|
|
8
3
|
const [mime, type] = mimeType.split('/');
|
|
9
4
|
if (mime === 'font') {
|
|
10
5
|
return 'woff';
|
|
@@ -16,7 +11,7 @@ exports.default = (mimeType) => {
|
|
|
16
11
|
return 'woff2';
|
|
17
12
|
}
|
|
18
13
|
else {
|
|
19
|
-
const t =
|
|
14
|
+
const t = mimeTypes.extension(mimeType);
|
|
20
15
|
if (t === 'markdown') {
|
|
21
16
|
return 'md';
|
|
22
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getExtension.js","sourceRoot":"","sources":["../../../../src/incoming/http/streamFunction/getExtension.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getExtension.js","sourceRoot":"","sources":["../../../../src/incoming/http/streamFunction/getExtension.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAA;AAElC,eAAe,CAAC,QAAgB,EAAE,EAAE;IAClC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,OAAO,MAAM,CAAA;KACd;SAAM,IAAI,IAAI,KAAK,KAAK,EAAE;QACzB,OAAO,KAAK,CAAA;KACb;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE;QAC3B,OAAO,OAAO,CAAA;KACf;SAAM;QACL,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,KAAK,UAAU,EAAE;YACpB,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,OAAO,KAAK,CAAA;SACb;QACD,OAAO,CAAC,CAAA;KACT;AACH,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { BasedServer } from '../../../server';
|
|
1
|
+
import { BasedServer } from '../../../server.js';
|
|
2
2
|
import { HttpSession, Context, BasedRoute } from '@based/functions';
|
|
3
3
|
export declare const httpStreamFunction: (server: BasedServer, ctx: Context<HttpSession>, route: BasedRoute<'stream'>) => void;
|
|
@@ -1,25 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const multiPart_1 = require("./multiPart");
|
|
7
|
-
const stream_1 = require("./stream");
|
|
8
|
-
const httpStreamFunction = (server, ctx, route) => {
|
|
1
|
+
import { sendError } from '../../../sendError.js';
|
|
2
|
+
import { BasedErrorCode } from '../../../error/index.js';
|
|
3
|
+
import { multiPart } from './multiPart/index.js';
|
|
4
|
+
import { singleStream } from './stream/index.js';
|
|
5
|
+
export const httpStreamFunction = (server, ctx, route) => {
|
|
9
6
|
if (!ctx.session) {
|
|
10
7
|
return;
|
|
11
8
|
}
|
|
12
9
|
const size = ctx.session.headers['content-length'];
|
|
13
10
|
if (route.maxPayloadSize > -1 && route.maxPayloadSize < size) {
|
|
14
|
-
|
|
11
|
+
sendError(server, ctx, BasedErrorCode.PayloadTooLarge, { route });
|
|
15
12
|
return;
|
|
16
13
|
}
|
|
17
14
|
const type = ctx.session.headers['content-type'];
|
|
18
15
|
if (type && type.startsWith('multipart/form-data')) {
|
|
19
|
-
|
|
16
|
+
multiPart(server, ctx, route);
|
|
20
17
|
return;
|
|
21
18
|
}
|
|
22
|
-
|
|
19
|
+
singleStream(server, ctx, route, type, size);
|
|
23
20
|
};
|
|
24
|
-
exports.httpStreamFunction = httpStreamFunction;
|
|
25
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/incoming/http/streamFunction/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/incoming/http/streamFunction/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAmB,EACnB,GAAyB,EACzB,KAA2B,EAC3B,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QAChB,OAAM;KACP;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAClD,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,GAAG,IAAI,EAAE;QAC5D,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACjE,OAAM;KACP;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAChD,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;QAClD,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7B,OAAM;KACP;IACD,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAC9C,CAAC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { HttpSession, Context, BasedRoute } from '@based/functions';
|
|
2
|
-
import { BasedServer } from '../../../../server';
|
|
2
|
+
import { BasedServer } from '../../../../server.js';
|
|
3
3
|
export declare const multiPart: (server: BasedServer, ctx: Context<HttpSession>, route: BasedRoute<'stream'>) => void;
|
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.multiPart = void 0;
|
|
7
|
-
const installFn_1 = require("../../../../installFn");
|
|
8
|
-
const readFormData_1 = __importDefault(require("./readFormData"));
|
|
9
|
-
const error_1 = require("../../../../error");
|
|
10
|
-
const sendHttpResponse_1 = require("../../../../sendHttpResponse");
|
|
1
|
+
import { installFn } from '../../../../installFn.js';
|
|
2
|
+
import readFormData from './readFormData.js';
|
|
3
|
+
import { BasedErrorCode, createErrorData, } from '../../../../error/index.js';
|
|
4
|
+
import { sendHttpResponse } from '../../../../sendHttpResponse.js';
|
|
11
5
|
const handleFile = async (server, ctx, installedFn, file, route) => {
|
|
12
6
|
const spec = await installedFn;
|
|
13
7
|
if (spec === null) {
|
|
14
8
|
return {
|
|
15
|
-
error:
|
|
9
|
+
error: createErrorData(BasedErrorCode.FunctionNotFound, {
|
|
16
10
|
route,
|
|
17
11
|
}),
|
|
18
12
|
};
|
|
@@ -21,7 +15,7 @@ const handleFile = async (server, ctx, installedFn, file, route) => {
|
|
|
21
15
|
const ok = await (spec.authorize || server.auth.authorize)(server.client, ctx, route.name, file);
|
|
22
16
|
if (!ok) {
|
|
23
17
|
return {
|
|
24
|
-
error:
|
|
18
|
+
error: createErrorData(BasedErrorCode.AuthorizeRejectedError, {
|
|
25
19
|
route,
|
|
26
20
|
}),
|
|
27
21
|
};
|
|
@@ -29,7 +23,7 @@ const handleFile = async (server, ctx, installedFn, file, route) => {
|
|
|
29
23
|
}
|
|
30
24
|
catch (err) {
|
|
31
25
|
return {
|
|
32
|
-
error:
|
|
26
|
+
error: createErrorData(BasedErrorCode.AuthorizeFunctionError, {
|
|
33
27
|
route,
|
|
34
28
|
err,
|
|
35
29
|
}),
|
|
@@ -41,12 +35,12 @@ const handleFile = async (server, ctx, installedFn, file, route) => {
|
|
|
41
35
|
}
|
|
42
36
|
catch (err) {
|
|
43
37
|
return {
|
|
44
|
-
error:
|
|
38
|
+
error: createErrorData(BasedErrorCode.FunctionError, { err, route }),
|
|
45
39
|
};
|
|
46
40
|
}
|
|
47
41
|
};
|
|
48
|
-
const multiPart = (server, ctx, route) => {
|
|
49
|
-
const installedFn =
|
|
42
|
+
export const multiPart = (server, ctx, route) => {
|
|
43
|
+
const installedFn = installFn(server, server.client.ctx, route);
|
|
50
44
|
const pendingFiles = [];
|
|
51
45
|
const onFile = (file) => {
|
|
52
46
|
pendingFiles.push(handleFile(server, ctx, installedFn, file, route));
|
|
@@ -54,10 +48,9 @@ const multiPart = (server, ctx, route) => {
|
|
|
54
48
|
const ready = async () => {
|
|
55
49
|
const results = await Promise.all(pendingFiles);
|
|
56
50
|
if (ctx.session) {
|
|
57
|
-
|
|
51
|
+
sendHttpResponse(ctx, results);
|
|
58
52
|
}
|
|
59
53
|
};
|
|
60
|
-
(
|
|
54
|
+
readFormData(ctx, server, route, onFile, ready);
|
|
61
55
|
};
|
|
62
|
-
exports.multiPart = multiPart;
|
|
63
56
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/incoming/http/streamFunction/multiPart/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/incoming/http/streamFunction/multiPart/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EACL,cAAc,EAEd,eAAe,GAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,MAAM,UAAU,GAAG,KAAK,EACtB,MAAmB,EACnB,GAAyB,EACzB,WAA0D,EAC1D,IAAmB,EACnB,KAA2B,EAW3B,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAA;IAE9B,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,gBAAgB,EAAE;gBACtD,KAAK;aACN,CAAC;SACH,CAAA;KACF;IAED,IAAI;QACF,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CACxD,MAAM,CAAC,MAAM,EACb,GAAG,EACH,KAAK,CAAC,IAAI,EACV,IAAI,CACL,CAAA;QACD,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;gBACL,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,sBAAsB,EAAE;oBAC5D,KAAK;iBACN,CAAC;aACH,CAAA;SACF;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,sBAAsB,EAAE;gBAC5D,KAAK;gBACL,GAAG;aACJ,CAAC;SACH,CAAA;KACF;IAED,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QACrD,OAAO,EAAE,KAAK,EAAE,CAAA;KACjB;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;SACrE,CAAA;KACF;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAmB,EACnB,GAAyB,EACzB,KAA2B,EAC3B,EAAE;IACF,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAE/D,MAAM,YAAY,GAAoC,EAAE,CAAA;IAExD,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAE,EAAE;QACrC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACtE,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC/C,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;SAC/B;IACH,CAAC,CAAA;IAED,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AACjD,CAAC,CAAA"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const functions_1 = require("@based/functions");
|
|
7
|
-
const error_1 = require("../../../../error");
|
|
8
|
-
const sendError_1 = require("../../../../sendError");
|
|
9
|
-
const getExtension_1 = __importDefault(require("../getExtension"));
|
|
1
|
+
import { BasedDataStream, } from '@based/functions';
|
|
2
|
+
import { BasedErrorCode } from '../../../../error/index.js';
|
|
3
|
+
import { sendError } from '../../../../sendError.js';
|
|
4
|
+
import getExtension from '../getExtension.js';
|
|
10
5
|
const MAX_CHUNK_SIZE = 1024 * 1024 * 5;
|
|
11
6
|
// only use this if you have an individual file else its just all
|
|
12
7
|
const setHeader = (file) => {
|
|
@@ -53,7 +48,7 @@ const handleMeta = (file, line, meta, isWriting, fileCallback) => {
|
|
|
53
48
|
}
|
|
54
49
|
return isWriting;
|
|
55
50
|
};
|
|
56
|
-
|
|
51
|
+
export default (ctx, server, route, onFile, isReady) => {
|
|
57
52
|
const files = [];
|
|
58
53
|
const contentLength = ctx.session.headers['content-length'];
|
|
59
54
|
let setInProgress = false;
|
|
@@ -66,7 +61,7 @@ exports.default = (ctx, server, route, onFile, isReady) => {
|
|
|
66
61
|
ctx.session.res.onData((chunk, isLast) => {
|
|
67
62
|
// see if this goes ok... (clearing mem etc)
|
|
68
63
|
if (chunk.byteLength > MAX_CHUNK_SIZE) {
|
|
69
|
-
|
|
64
|
+
sendError(server, ctx, BasedErrorCode.ChunkTooLarge, route);
|
|
70
65
|
for (const file of files) {
|
|
71
66
|
file.stream.destroy();
|
|
72
67
|
}
|
|
@@ -121,7 +116,7 @@ exports.default = (ctx, server, route, onFile, isReady) => {
|
|
|
121
116
|
}
|
|
122
117
|
if (line === boundary && !isWriting) {
|
|
123
118
|
const file = {
|
|
124
|
-
stream: new
|
|
119
|
+
stream: new BasedDataStream(0),
|
|
125
120
|
headersSet: 0,
|
|
126
121
|
opts: {},
|
|
127
122
|
isDone: false,
|
|
@@ -132,7 +127,7 @@ exports.default = (ctx, server, route, onFile, isReady) => {
|
|
|
132
127
|
const file = files[files.length - 1];
|
|
133
128
|
if (!file) {
|
|
134
129
|
// TODO: invalid file error
|
|
135
|
-
return
|
|
130
|
+
return sendError(server, ctx, BasedErrorCode.InvalidPayload, { route });
|
|
136
131
|
}
|
|
137
132
|
if (!isWriting && collectMeta) {
|
|
138
133
|
const fullMeta = collectMeta + line;
|
|
@@ -153,7 +148,7 @@ exports.default = (ctx, server, route, onFile, isReady) => {
|
|
|
153
148
|
continue;
|
|
154
149
|
}
|
|
155
150
|
// TODO: invalid file error
|
|
156
|
-
return
|
|
151
|
+
return sendError(server, ctx, BasedErrorCode.InvalidPayload, {
|
|
157
152
|
route,
|
|
158
153
|
});
|
|
159
154
|
}
|
|
@@ -164,12 +159,12 @@ exports.default = (ctx, server, route, onFile, isReady) => {
|
|
|
164
159
|
const mimeType = line.match(/Content-Type: ([a-zA-Z0-9].+\/[a-zA-Z0-9].+)/)?.[1];
|
|
165
160
|
if (!mimeType) {
|
|
166
161
|
// TODO: invalid file (can speficy in route potentialy...)
|
|
167
|
-
return
|
|
162
|
+
return sendError(server, ctx, BasedErrorCode.InvalidPayload, {
|
|
168
163
|
route,
|
|
169
164
|
});
|
|
170
165
|
}
|
|
171
166
|
file.opts.type = mimeType;
|
|
172
|
-
const extension = (
|
|
167
|
+
const extension = getExtension(mimeType);
|
|
173
168
|
if (extension) {
|
|
174
169
|
file.opts.extension = extension;
|
|
175
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readFormData.js","sourceRoot":"","sources":["../../../../../src/incoming/http/streamFunction/multiPart/readFormData.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"readFormData.js","sourceRoot":"","sources":["../../../../../src/incoming/http/streamFunction/multiPart/readFormData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { HttpSession, Context, BasedDataStream, BasedRoute } from '@based/functions';
|
|
2
|
-
import { BasedServer } from '../../../../server';
|
|
2
|
+
import { BasedServer } from '../../../../server.js';
|
|
3
3
|
declare const _default: (server: BasedServer, route: BasedRoute<'stream'>, ctx: Context<HttpSession>, size: number) => BasedDataStream;
|
|
4
4
|
export default _default;
|
|
@@ -1,34 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const functions_1 = require("@based/functions");
|
|
7
|
-
const sendError_1 = require("../../../../sendError");
|
|
8
|
-
const node_zlib_1 = __importDefault(require("node:zlib"));
|
|
9
|
-
const error_1 = require("../../../../error");
|
|
1
|
+
import { BasedDataStream, } from '@based/functions';
|
|
2
|
+
import { sendError } from '../../../../sendError.js';
|
|
3
|
+
import zlib from 'node:zlib';
|
|
4
|
+
import { BasedErrorCode } from '../../../../error/index.js';
|
|
10
5
|
const MAX_CHUNK_SIZE = 1024 * 1024 * 5;
|
|
11
6
|
const UNCOMPRESS_OPTS = {
|
|
12
7
|
chunkSize: 1024 * 1024 * 5,
|
|
13
8
|
};
|
|
14
|
-
|
|
15
|
-
const stream = new
|
|
9
|
+
export default (server, route, ctx, size) => {
|
|
10
|
+
const stream = new BasedDataStream(size);
|
|
16
11
|
const contentEncoding = ctx.session.headers['content-encoding'];
|
|
17
12
|
if (contentEncoding) {
|
|
18
13
|
let uncompressStream;
|
|
19
14
|
if (contentEncoding === 'deflate') {
|
|
20
|
-
uncompressStream =
|
|
15
|
+
uncompressStream = zlib.createInflate(UNCOMPRESS_OPTS);
|
|
21
16
|
}
|
|
22
17
|
else if (contentEncoding === 'gzip') {
|
|
23
|
-
uncompressStream =
|
|
18
|
+
uncompressStream = zlib.createGunzip(UNCOMPRESS_OPTS);
|
|
24
19
|
}
|
|
25
20
|
else if (contentEncoding === 'br') {
|
|
26
|
-
uncompressStream =
|
|
21
|
+
uncompressStream = zlib.createBrotliDecompress(UNCOMPRESS_OPTS);
|
|
27
22
|
}
|
|
28
23
|
if (uncompressStream) {
|
|
29
24
|
ctx.session.res.onData((c, isLast) => {
|
|
30
25
|
if (c.byteLength > MAX_CHUNK_SIZE) {
|
|
31
|
-
|
|
26
|
+
sendError(server, ctx, BasedErrorCode.ChunkTooLarge, route);
|
|
32
27
|
uncompressStream.destroy();
|
|
33
28
|
stream.destroy();
|
|
34
29
|
return;
|
|
@@ -45,20 +40,20 @@ exports.default = (server, route, ctx, size) => {
|
|
|
45
40
|
});
|
|
46
41
|
uncompressStream.on('error', (err) => {
|
|
47
42
|
console.warn('Uncompress error', route, contentEncoding, err);
|
|
48
|
-
|
|
43
|
+
sendError(server, ctx, BasedErrorCode.ChunkTooLarge, route);
|
|
49
44
|
uncompressStream.destroy();
|
|
50
45
|
stream.destroy();
|
|
51
46
|
});
|
|
52
47
|
uncompressStream.pipe(stream);
|
|
53
48
|
}
|
|
54
49
|
else {
|
|
55
|
-
|
|
50
|
+
sendError(server, ctx, BasedErrorCode.UnsupportedContentEncoding, route);
|
|
56
51
|
}
|
|
57
52
|
}
|
|
58
53
|
else {
|
|
59
54
|
ctx.session.res.onData((c, isLast) => {
|
|
60
55
|
if (c.byteLength > MAX_CHUNK_SIZE) {
|
|
61
|
-
|
|
56
|
+
sendError(server, ctx, BasedErrorCode.ChunkTooLarge, route);
|
|
62
57
|
stream.destroy();
|
|
63
58
|
return;
|
|
64
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createStream.js","sourceRoot":"","sources":["../../../../../src/incoming/http/streamFunction/stream/createStream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createStream.js","sourceRoot":"","sources":["../../../../../src/incoming/http/streamFunction/stream/createStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { BasedServer } from '../../../../server';
|
|
1
|
+
import { BasedServer } from '../../../../server.js';
|
|
2
2
|
import { HttpSession, Context, BasedRoute } from '@based/functions';
|
|
3
3
|
export declare const singleStream: (server: BasedServer, ctx: Context<HttpSession>, route: BasedRoute<'stream'>, type: string, size: number) => void;
|