xypriss 9.12.31 → 9.12.32
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/cjs/src/server/components/fastapi/upload/FileUploadManager.js +30 -4
- package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
- package/dist/cjs/src/server/const/default.js +4 -22
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildUploadArgs.js +15 -3
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildUploadArgs.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js +29 -4
- package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -1
- package/dist/esm/src/server/const/default.js +4 -22
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildUploadArgs.js +15 -3
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildUploadArgs.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var path = require('path');
|
|
4
|
+
var fs = require('fs');
|
|
4
5
|
var ConfigurationManager = require('../../../../ConfigurationManager.js');
|
|
5
6
|
var mimeUtils = require('../../../../utils/mimeUtils.js');
|
|
6
7
|
|
|
@@ -22,6 +23,7 @@ function _interopNamespaceDefault(e) {
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
|
|
26
|
+
var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
|
|
25
27
|
|
|
26
28
|
/**
|
|
27
29
|
* File Upload Manager for XyPriss Server
|
|
@@ -33,6 +35,26 @@ class FileUploadManager {
|
|
|
33
35
|
this.config = config || ConfigurationManager.CM.get("fileUpload") || {};
|
|
34
36
|
this.logger = logger;
|
|
35
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Process file according to storage strategy (disk vs memory)
|
|
40
|
+
*/
|
|
41
|
+
async processFileStorage(file) {
|
|
42
|
+
if (!file)
|
|
43
|
+
return;
|
|
44
|
+
if (this.config?.storage === "memory" && file.path) {
|
|
45
|
+
try {
|
|
46
|
+
if (fs__namespace.existsSync(file.path)) {
|
|
47
|
+
file.buffer = await fs__namespace.promises.readFile(file.path);
|
|
48
|
+
await fs__namespace.promises.unlink(file.path);
|
|
49
|
+
file.path = undefined;
|
|
50
|
+
file.destination = "memory";
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
this.logger.error("server", `Failed to process memory file storage: ${err}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
36
58
|
/**
|
|
37
59
|
* Initialize the file upload manager
|
|
38
60
|
*/
|
|
@@ -110,11 +132,12 @@ class FileUploadManager {
|
|
|
110
132
|
const file = files[0];
|
|
111
133
|
if (!file)
|
|
112
134
|
return next(); // Multer optional behavior
|
|
113
|
-
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
135
|
+
this.createDefaultFileFilter()(req, file, async (err, accept) => {
|
|
114
136
|
if (err)
|
|
115
137
|
return next(err);
|
|
116
138
|
if (!accept)
|
|
117
139
|
return next(new Error("File rejected"));
|
|
140
|
+
await this.processFileStorage(file);
|
|
118
141
|
req.file = file;
|
|
119
142
|
next();
|
|
120
143
|
});
|
|
@@ -142,7 +165,7 @@ class FileUploadManager {
|
|
|
142
165
|
if (files.length === 0)
|
|
143
166
|
return next();
|
|
144
167
|
files.forEach((file) => {
|
|
145
|
-
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
168
|
+
this.createDefaultFileFilter()(req, file, async (err, accept) => {
|
|
146
169
|
if (errorOccurred)
|
|
147
170
|
return;
|
|
148
171
|
if (err) {
|
|
@@ -153,6 +176,7 @@ class FileUploadManager {
|
|
|
153
176
|
errorOccurred = true;
|
|
154
177
|
return next(new Error("File rejected"));
|
|
155
178
|
}
|
|
179
|
+
await this.processFileStorage(file);
|
|
156
180
|
completed++;
|
|
157
181
|
if (completed === files.length)
|
|
158
182
|
next();
|
|
@@ -180,7 +204,7 @@ class FileUploadManager {
|
|
|
180
204
|
for (const field of fields) {
|
|
181
205
|
const files = allFiles.filter((f) => f.fieldname === field.name);
|
|
182
206
|
for (const file of files) {
|
|
183
|
-
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
207
|
+
this.createDefaultFileFilter()(req, file, async (err, accept) => {
|
|
184
208
|
if (errorOccurred)
|
|
185
209
|
return;
|
|
186
210
|
if (err) {
|
|
@@ -191,6 +215,7 @@ class FileUploadManager {
|
|
|
191
215
|
errorOccurred = true;
|
|
192
216
|
return next(new Error("File rejected"));
|
|
193
217
|
}
|
|
218
|
+
await this.processFileStorage(file);
|
|
194
219
|
validatedCount++;
|
|
195
220
|
if (validatedCount === totalToValidate)
|
|
196
221
|
next();
|
|
@@ -214,7 +239,7 @@ class FileUploadManager {
|
|
|
214
239
|
let completed = 0;
|
|
215
240
|
let errorOccurred = false;
|
|
216
241
|
files.forEach((file) => {
|
|
217
|
-
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
242
|
+
this.createDefaultFileFilter()(req, file, async (err, accept) => {
|
|
218
243
|
if (errorOccurred)
|
|
219
244
|
return;
|
|
220
245
|
if (err) {
|
|
@@ -225,6 +250,7 @@ class FileUploadManager {
|
|
|
225
250
|
errorOccurred = true;
|
|
226
251
|
return next(new Error("File rejected"));
|
|
227
252
|
}
|
|
253
|
+
await this.processFileStorage(file);
|
|
228
254
|
completed++;
|
|
229
255
|
if (completed === files.length)
|
|
230
256
|
next();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadManager.js","sources":["../../../../../../../src/server/components/fastapi/upload/FileUploadManager.ts"],"sourcesContent":[null],"names":["Configs","normalizeMime","path"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUploadManager.js","sources":["../../../../../../../src/server/components/fastapi/upload/FileUploadManager.ts"],"sourcesContent":[null],"names":["Configs","fs","normalizeMime","path"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ var path = require('node:path');
|
|
|
4
4
|
var DEFAULT_LOGGER_CONFIG = require('../../shared/logger/DEFAULT_LOGGER_CONFIG.js');
|
|
5
5
|
var xyprissSecurity = require('xypriss-security');
|
|
6
6
|
var Defaulthelmetopts = require('./Defaulthelmetopts.js');
|
|
7
|
+
var getSysApi = require('../../plugins/const/getSysApi.js');
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Default configuration for XyPriss server.
|
|
@@ -174,28 +175,7 @@ const DEFAULT_OPTIONS = {
|
|
|
174
175
|
enabled: false, // Disabled by default for security
|
|
175
176
|
maxFileSize: 50 * 1024 * 1024, // 50MB for production use
|
|
176
177
|
maxFiles: 5,
|
|
177
|
-
storage: "
|
|
178
|
-
allowedMimeTypes: [
|
|
179
|
-
"image/jpeg",
|
|
180
|
-
"image/png",
|
|
181
|
-
"image/gif",
|
|
182
|
-
"image/webp",
|
|
183
|
-
"application/pdf",
|
|
184
|
-
"text/plain; charset=utf-8",
|
|
185
|
-
"text/csv; charset=utf-8",
|
|
186
|
-
"video/mp4",
|
|
187
|
-
"video/x-msvideo",
|
|
188
|
-
"video/quicktime",
|
|
189
|
-
"application/msword",
|
|
190
|
-
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
191
|
-
"application/vnd.ms-excel",
|
|
192
|
-
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
193
|
-
"application/zip",
|
|
194
|
-
"text/markdown; charset=utf-8",
|
|
195
|
-
"audio/wav",
|
|
196
|
-
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
197
|
-
"application/json; charset=utf-8",
|
|
198
|
-
],
|
|
178
|
+
storage: "disk", // Disk storage by default (prevents V8 heap OOM crashes)
|
|
199
179
|
allowedExtensions: [
|
|
200
180
|
".jpg",
|
|
201
181
|
".jpeg",
|
|
@@ -218,6 +198,8 @@ const DEFAULT_OPTIONS = {
|
|
|
218
198
|
".pptx",
|
|
219
199
|
".json",
|
|
220
200
|
],
|
|
201
|
+
useTempFiles: true,
|
|
202
|
+
tempFileDir: getSysApi.getSysApi().path.tmpUserDir + "/.uploads/",
|
|
221
203
|
createParentPath: true,
|
|
222
204
|
preservePath: false,
|
|
223
205
|
limits: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["DEFAULT_LOGGER_CONFIG","getRandomBytes","defaultHelmetOpts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["DEFAULT_LOGGER_CONFIG","getRandomBytes","defaultHelmetOpts","getSysApi"],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var getMime = require('../../../../utils/getMime.js');
|
|
4
|
+
|
|
3
5
|
function buildUploadArgs(uploadConf) {
|
|
4
6
|
const isEnabled = uploadConf &&
|
|
5
7
|
uploadConf.enabled !== false &&
|
|
@@ -19,9 +21,19 @@ function buildUploadArgs(uploadConf) {
|
|
|
19
21
|
const maxFiles = uploadConf.maxFiles ?? uploadConf.limits?.files;
|
|
20
22
|
if (maxFiles !== undefined)
|
|
21
23
|
args.push("--upload-max-files", maxFiles.toString());
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
const allowedMimes = [];
|
|
25
|
+
if (Array.isArray(uploadConf.allowedMimeTypes)) {
|
|
26
|
+
allowedMimes.push(...uploadConf.allowedMimeTypes);
|
|
27
|
+
}
|
|
28
|
+
if (Array.isArray(uploadConf.allowedExtensions) &&
|
|
29
|
+
uploadConf.allowedExtensions.length > 0) {
|
|
30
|
+
const resolved = getMime.getMimes(uploadConf.allowedExtensions);
|
|
31
|
+
allowedMimes.push(...resolved);
|
|
32
|
+
}
|
|
33
|
+
if (allowedMimes.length > 0) {
|
|
34
|
+
const uniqueMimes = Array.from(new Set(allowedMimes));
|
|
35
|
+
args.push("--upload-allowed-mimes", uniqueMimes.join(","));
|
|
36
|
+
}
|
|
25
37
|
if (uploadConf.useSubDir !== undefined)
|
|
26
38
|
args.push(`--upload-use-subdir=${uploadConf.useSubDir}`);
|
|
27
39
|
return args;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":["getMimes"],"mappings":";;;;AAEM,SAAU,eAAe,CAAC,UAAe,EAAA;IAC3C,MAAM,SAAS,GACX,UAAU;QACV,UAAU,CAAC,OAAO,KAAK,KAAK;AAC5B,SAAC,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;AAC7D,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,EAAE;IAEzB,MAAM,IAAI,GAAa,EAAE;IAEzB,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC;IACrD,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,WAAW,CAAC;AAC1D,IAAA,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,IAAI,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,UAAU,CAAC,YAAY,CAAA,CAAE,CAAC;IAEnE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ;IACzE,IAAI,WAAW,KAAK,SAAS;QACzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK;IAChE,IAAI,QAAQ,KAAK,SAAS;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAExD,MAAM,YAAY,GAAa,EAAE;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACrD;AACA,IAAA,IACI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;AAC3C,QAAA,UAAU,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EACzC;QACE,MAAM,QAAQ,GAAGA,gBAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;AACvD,QAAA,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAClC;AAEA,IAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,IAAI,CACL,wBAAwB,EACxB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CACxB;IACL;AAEA,IAAA,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;QAClC,IAAI,CAAC,IAAI,CAAC,CAAA,oBAAA,EAAuB,UAAU,CAAC,SAAS,CAAA,CAAE,CAAC;AAE5D,IAAA,OAAO,IAAI;AACf;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
|
+
import * as fs from 'fs';
|
|
2
3
|
import { CM as ConfigurationManager } from '../../../../ConfigurationManager.js';
|
|
3
4
|
import { normalizeMime } from '../../../../utils/mimeUtils.js';
|
|
4
5
|
|
|
@@ -12,6 +13,26 @@ class FileUploadManager {
|
|
|
12
13
|
this.config = config || ConfigurationManager.get("fileUpload") || {};
|
|
13
14
|
this.logger = logger;
|
|
14
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Process file according to storage strategy (disk vs memory)
|
|
18
|
+
*/
|
|
19
|
+
async processFileStorage(file) {
|
|
20
|
+
if (!file)
|
|
21
|
+
return;
|
|
22
|
+
if (this.config?.storage === "memory" && file.path) {
|
|
23
|
+
try {
|
|
24
|
+
if (fs.existsSync(file.path)) {
|
|
25
|
+
file.buffer = await fs.promises.readFile(file.path);
|
|
26
|
+
await fs.promises.unlink(file.path);
|
|
27
|
+
file.path = undefined;
|
|
28
|
+
file.destination = "memory";
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
this.logger.error("server", `Failed to process memory file storage: ${err}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
15
36
|
/**
|
|
16
37
|
* Initialize the file upload manager
|
|
17
38
|
*/
|
|
@@ -89,11 +110,12 @@ class FileUploadManager {
|
|
|
89
110
|
const file = files[0];
|
|
90
111
|
if (!file)
|
|
91
112
|
return next(); // Multer optional behavior
|
|
92
|
-
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
113
|
+
this.createDefaultFileFilter()(req, file, async (err, accept) => {
|
|
93
114
|
if (err)
|
|
94
115
|
return next(err);
|
|
95
116
|
if (!accept)
|
|
96
117
|
return next(new Error("File rejected"));
|
|
118
|
+
await this.processFileStorage(file);
|
|
97
119
|
req.file = file;
|
|
98
120
|
next();
|
|
99
121
|
});
|
|
@@ -121,7 +143,7 @@ class FileUploadManager {
|
|
|
121
143
|
if (files.length === 0)
|
|
122
144
|
return next();
|
|
123
145
|
files.forEach((file) => {
|
|
124
|
-
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
146
|
+
this.createDefaultFileFilter()(req, file, async (err, accept) => {
|
|
125
147
|
if (errorOccurred)
|
|
126
148
|
return;
|
|
127
149
|
if (err) {
|
|
@@ -132,6 +154,7 @@ class FileUploadManager {
|
|
|
132
154
|
errorOccurred = true;
|
|
133
155
|
return next(new Error("File rejected"));
|
|
134
156
|
}
|
|
157
|
+
await this.processFileStorage(file);
|
|
135
158
|
completed++;
|
|
136
159
|
if (completed === files.length)
|
|
137
160
|
next();
|
|
@@ -159,7 +182,7 @@ class FileUploadManager {
|
|
|
159
182
|
for (const field of fields) {
|
|
160
183
|
const files = allFiles.filter((f) => f.fieldname === field.name);
|
|
161
184
|
for (const file of files) {
|
|
162
|
-
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
185
|
+
this.createDefaultFileFilter()(req, file, async (err, accept) => {
|
|
163
186
|
if (errorOccurred)
|
|
164
187
|
return;
|
|
165
188
|
if (err) {
|
|
@@ -170,6 +193,7 @@ class FileUploadManager {
|
|
|
170
193
|
errorOccurred = true;
|
|
171
194
|
return next(new Error("File rejected"));
|
|
172
195
|
}
|
|
196
|
+
await this.processFileStorage(file);
|
|
173
197
|
validatedCount++;
|
|
174
198
|
if (validatedCount === totalToValidate)
|
|
175
199
|
next();
|
|
@@ -193,7 +217,7 @@ class FileUploadManager {
|
|
|
193
217
|
let completed = 0;
|
|
194
218
|
let errorOccurred = false;
|
|
195
219
|
files.forEach((file) => {
|
|
196
|
-
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
220
|
+
this.createDefaultFileFilter()(req, file, async (err, accept) => {
|
|
197
221
|
if (errorOccurred)
|
|
198
222
|
return;
|
|
199
223
|
if (err) {
|
|
@@ -204,6 +228,7 @@ class FileUploadManager {
|
|
|
204
228
|
errorOccurred = true;
|
|
205
229
|
return next(new Error("File rejected"));
|
|
206
230
|
}
|
|
231
|
+
await this.processFileStorage(file);
|
|
207
232
|
completed++;
|
|
208
233
|
if (completed === files.length)
|
|
209
234
|
next();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadManager.js","sources":["../../../../../../../src/server/components/fastapi/upload/FileUploadManager.ts"],"sourcesContent":[null],"names":["Configs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUploadManager.js","sources":["../../../../../../../src/server/components/fastapi/upload/FileUploadManager.ts"],"sourcesContent":[null],"names":["Configs"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import path__default from 'node:path';
|
|
|
2
2
|
import { DEFAULT_LOGGER_CONFIG } from '../../shared/logger/DEFAULT_LOGGER_CONFIG.js';
|
|
3
3
|
import { getRandomBytes } from 'xypriss-security';
|
|
4
4
|
import { defaultHelmetOpts } from './Defaulthelmetopts.js';
|
|
5
|
+
import { getSysApi } from '../../plugins/const/getSysApi.js';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Default configuration for XyPriss server.
|
|
@@ -172,28 +173,7 @@ const DEFAULT_OPTIONS = {
|
|
|
172
173
|
enabled: false, // Disabled by default for security
|
|
173
174
|
maxFileSize: 50 * 1024 * 1024, // 50MB for production use
|
|
174
175
|
maxFiles: 5,
|
|
175
|
-
storage: "
|
|
176
|
-
allowedMimeTypes: [
|
|
177
|
-
"image/jpeg",
|
|
178
|
-
"image/png",
|
|
179
|
-
"image/gif",
|
|
180
|
-
"image/webp",
|
|
181
|
-
"application/pdf",
|
|
182
|
-
"text/plain; charset=utf-8",
|
|
183
|
-
"text/csv; charset=utf-8",
|
|
184
|
-
"video/mp4",
|
|
185
|
-
"video/x-msvideo",
|
|
186
|
-
"video/quicktime",
|
|
187
|
-
"application/msword",
|
|
188
|
-
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
189
|
-
"application/vnd.ms-excel",
|
|
190
|
-
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
191
|
-
"application/zip",
|
|
192
|
-
"text/markdown; charset=utf-8",
|
|
193
|
-
"audio/wav",
|
|
194
|
-
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
195
|
-
"application/json; charset=utf-8",
|
|
196
|
-
],
|
|
176
|
+
storage: "disk", // Disk storage by default (prevents V8 heap OOM crashes)
|
|
197
177
|
allowedExtensions: [
|
|
198
178
|
".jpg",
|
|
199
179
|
".jpeg",
|
|
@@ -216,6 +196,8 @@ const DEFAULT_OPTIONS = {
|
|
|
216
196
|
".pptx",
|
|
217
197
|
".json",
|
|
218
198
|
],
|
|
199
|
+
useTempFiles: true,
|
|
200
|
+
tempFileDir: getSysApi().path.tmpUserDir + "/.uploads/",
|
|
219
201
|
createParentPath: true,
|
|
220
202
|
preservePath: false,
|
|
221
203
|
limits: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["path"],"mappings":"
|
|
1
|
+
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["path"],"mappings":";;;;;;AAAA;;;;AAIG;AASI,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI;AACjD,MAAM,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI;AAE7D;AACO,MAAM,eAAe,GAAkB;AAC1C,IAAA,WAAW,EAAE;AACT,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,SAAS,EAAE,GAAG;AACd,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,WAAW,EAAE,KAAK;AACrB,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,YAAY;AAClB,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,IAAI,EAAE,IAAI;;;;;AAKV,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,cAAc,EAAE;AACZ,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,QAAQ,EAAE,QAAQ;AACrB,SAAA;AACD,QAAA,gBAAgB,EAAE,IAAI;AAEtB,QAAA,IAAI,EAAE;AACF,YAAA,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;AACnB,YAAA,GAAG,EAAE,IAAI;AACT,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,OAAO,EAAE,uBAAuB;AAChC,YAAA,aAAa,EAAE;AACX,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,MAAM,EAAE,IAAI;AACf,aAAA;YACD,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE;AACT,gBAAA,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,IAAI,EAAEA,aAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC;AAClD,aAAA;AACJ,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,EAAE,qBAAqB;AAC9B,IAAA,QAAQ,EAAE;AACN,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,UAAU,EAAE,GAAG;AAClB,KAAA;AAED,IAAA,eAAe,EAAE;AACb,QAAA,OAAO,EAAE,KAAK;AACjB,KAAA;AACD,IAAA,OAAO,EAAE;QACL,OAAO,EAAE,KAAK;AACd,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,SAAS,EAAE;AACP,YAAA,YAAY,EAAE;AACV,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,IAAI;AACnB,aAAA;AACJ,SAAA;AACJ,KAAA;AACD,IAAA,KAAK,EAAE;QACH,QAAQ,EAAE,QAAQ;AAClB,QAAA,OAAO,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;QAC1B,GAAG,EAAE,MAAM;AACX,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,MAAM,EAAE;YACJ,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,KAAK;AACnB,SAAA;AACJ,KAAA;AACD,IAAA,QAAQ,EAAE;AACN,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,IAAI,EAAE;AACF,YAAA,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC1C,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,aAAa,EAAE;AACX,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,QAAQ;AACrB,aAAA;AACD,YAAA,kBAAkB,EAAE,IAAI;AAC3B,SAAA;AACD,QAAA,mBAAmB,EAAE;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,IAAI,EAAE,OAAO;AAChB,SAAA;AACD,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,MAAM,EAAE,iBAAiB;AACzB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,aAAa,EAAE,KAAK;AACpB;;;AAGG;AACH,QAAA,GAAG,EAAE,KAAK;AACV,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,IAAI,EAAE;YACF,MAAM,EAAE,GAAG;AACX,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,OAAO,EAAE;gBACL,KAAK;gBACL,MAAM;gBACN,KAAK;gBACL,OAAO;gBACP,MAAM;gBACN,QAAQ;gBACR,SAAS;AACZ,aAAA;AACD,YAAA,cAAc,EAAE;gBACZ,cAAc;gBACd,eAAe;gBACf,kBAAkB;gBAClB,QAAQ;gBACR,QAAQ;gBACR,+BAA+B;gBAC/B,gCAAgC;gBAChC,cAAc;gBACd,cAAc;gBACd,gBAAgB;gBAChB,cAAc;gBACd,sBAAsB;AACzB,aAAA;AACJ,SAAA;AACD,QAAA,SAAS,EAAE;AACP,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;AACxB,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,OAAO,EACH,yHAAyH;YAC7H,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;AAC7D,SAAA;AAED,QAAA,GAAG,EAAE,IAAI;AACT,QAAA,QAAQ,EAAE;AACN,YAAA,OAAO,EAAE,KAAK;AACjB,SAAA;AACJ,KAAA;AACD,IAAA,iBAAiB,EAAE;AACf,QAAA,OAAO,EAAE;AACL,YAAA,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,KAAK;AACrB,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,YAAY,EACR,uHAAuH;AAC9H,SAAA;AACD,QAAA,OAAO,EAAE;YACL,WAAW,EAAE,QAAQ;AACxB,SAAA;AACJ,KAAA;AACD,IAAA,UAAU,EAAE;QACR,OAAO,EAAE,KAAK;AACd,QAAA,WAAW,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;AAC7B,QAAA,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,MAAM;AACf,QAAA,iBAAiB,EAAE;YACf,MAAM;YACN,OAAO;YACP,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,MAAM;YACN,MAAM;YACN,MAAM;YACN,MAAM;YACN,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,OAAO;YACP,MAAM;YACN,KAAK;YACL,MAAM;YACN,OAAO;YACP,OAAO;AACV,SAAA;AACD,QAAA,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY;AACvD,QAAA,gBAAgB,EAAE,IAAI;AACtB,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,MAAM,EAAE;AACJ,YAAA,aAAa,EAAE,GAAG;AAClB,YAAA,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;AAC3B,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,WAAW,EAAE,EAAE;AAClB,SAAA;AACJ,KAAA;AACD,IAAA,UAAU,EAAE;QACR,OAAO,EAAE,IAAI;AACb,QAAA,MAAM,EAAE;AACJ,YAAA,kBAAkB,EAAE,MAAM;AAC1B,YAAA,EAAE,EAAE;AACA,gBAAA,GAAG,EAAE,MAAM;AACX,gBAAA,GAAG,EAAE,MAAM;AACd,aAAA;AACD,YAAA,GAAG,EAAE;AACD,gBAAA,GAAG,EAAE,MAAM;AACX,gBAAA,GAAG,EAAE,MAAM;AACd,aAAA;AACJ,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,EAAE;;AAEL,QAAA,UAAU,EAAE;AACR,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,KAAK,EAAE;gBACH,OAAO,EAAE,KAAK;AACd,gBAAA,oBAAoB,EAAE,GAAG;AACzB,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,UAAU,EAAE,KAAK;AACpB,aAAA;AACD,YAAA,SAAS,EAAE;AACP,gBAAA,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,GAAG;AACnB,aAAA;AACD,YAAA,cAAc,EAAE;AACZ,gBAAA,cAAc,EAAE,IAAI;gBACpB,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,KAAK;AACrB,aAAA;AACJ,SAAA;;AAGD,QAAA,WAAW,EAAE;AACT,YAAA,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC;YAC7C,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,IAAI;AACf,YAAA,YAAY,EAAE;gBACV,WAAW;gBACX,UAAU;gBACV,iBAAiB;gBACjB,wBAAwB;gBACxB,kBAAkB;gBAClB,iBAAiB;gBACjB,UAAU;gBACV,YAAY;gBACZ,eAAe;AAClB,aAAA;YACD,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,EAAE;AACjB,SAAA;;AAGD,QAAA,SAAS,EAAE;YACP,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,MAAM,EAAE;gBACJ,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,IAAI;AACf,aAAA;AACD,YAAA,KAAK,EAAE;gBACH,QAAQ,EAAE,GAAG;gBACb,MAAM,EAAE,IAAI;AACf,aAAA;AACD,YAAA,OAAO,EAAE;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,aAAa;AACxB,aAAA;AACJ,SAAA;;AAGD,QAAA,KAAK,EAAE;AACH,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,WAAW,EAAE;AACT,gBAAA,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;AACb,gBAAA,IAAI,EAAE,SAAS;gBACf,kBAAkB,EAAE,CAAC;gBACrB,gBAAgB,EAAE,CAAC;AACtB,aAAA;YACD,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK;AACjB,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,EAAE;QACL,uBAAuB,EAAE,KAAK;AAC9B,QAAA,iBAAiB,EAAE;YACf,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,MAAM;YACxB,qBAAqB,EAAE,GAAG;YAC1B,gBAAgB,EAAE,OAAO;AACzB,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,WAAW,EAAE,EAAE;AAClB,SAAA;AACD,QAAA,iBAAiB,EAAE;AACf,YAAA,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,MAAM;YACrB,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,EAAE;YACnB,qBAAqB,EAAE,IAAI;AAC3B,YAAA,gBAAgB,EAAE,CAAC;YACnB,cAAc,EAAE,QAAQ;AACxB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AACrB,SAAA;QACD,QAAQ,EAAE,EAAE;AACf,KAAA;;;;;"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { getMimes } from '../../../../utils/getMime.js';
|
|
2
|
+
|
|
1
3
|
function buildUploadArgs(uploadConf) {
|
|
2
4
|
const isEnabled = uploadConf &&
|
|
3
5
|
uploadConf.enabled !== false &&
|
|
@@ -17,9 +19,19 @@ function buildUploadArgs(uploadConf) {
|
|
|
17
19
|
const maxFiles = uploadConf.maxFiles ?? uploadConf.limits?.files;
|
|
18
20
|
if (maxFiles !== undefined)
|
|
19
21
|
args.push("--upload-max-files", maxFiles.toString());
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
const allowedMimes = [];
|
|
23
|
+
if (Array.isArray(uploadConf.allowedMimeTypes)) {
|
|
24
|
+
allowedMimes.push(...uploadConf.allowedMimeTypes);
|
|
25
|
+
}
|
|
26
|
+
if (Array.isArray(uploadConf.allowedExtensions) &&
|
|
27
|
+
uploadConf.allowedExtensions.length > 0) {
|
|
28
|
+
const resolved = getMimes(uploadConf.allowedExtensions);
|
|
29
|
+
allowedMimes.push(...resolved);
|
|
30
|
+
}
|
|
31
|
+
if (allowedMimes.length > 0) {
|
|
32
|
+
const uniqueMimes = Array.from(new Set(allowedMimes));
|
|
33
|
+
args.push("--upload-allowed-mimes", uniqueMimes.join(","));
|
|
34
|
+
}
|
|
23
35
|
if (uploadConf.useSubDir !== undefined)
|
|
24
36
|
args.push(`--upload-use-subdir=${uploadConf.useSubDir}`);
|
|
25
37
|
return args;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEM,SAAU,eAAe,CAAC,UAAe,EAAA;IAC3C,MAAM,SAAS,GACX,UAAU;QACV,UAAU,CAAC,OAAO,KAAK,KAAK;AAC5B,SAAC,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;AAC7D,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,EAAE;IAEzB,MAAM,IAAI,GAAa,EAAE;IAEzB,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC;IACrD,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,WAAW,CAAC;AAC1D,IAAA,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,IAAI,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,UAAU,CAAC,YAAY,CAAA,CAAE,CAAC;IAEnE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ;IACzE,IAAI,WAAW,KAAK,SAAS;QACzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK;IAChE,IAAI,QAAQ,KAAK,SAAS;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAExD,MAAM,YAAY,GAAa,EAAE;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;QAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACrD;AACA,IAAA,IACI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;AAC3C,QAAA,UAAU,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EACzC;QACE,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;AACvD,QAAA,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAClC;AAEA,IAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,IAAI,CACL,wBAAwB,EACxB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CACxB;IACL;AAEA,IAAA,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;QAClC,IAAI,CAAC,IAAI,CAAC,CAAA,oBAAA,EAAuB,UAAU,CAAC,SAAS,CAAA,CAAE,CAAC;AAE5D,IAAA,OAAO,IAAI;AACf;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -154,7 +154,7 @@ interface FileUploadConfig {
|
|
|
154
154
|
/** Preserve full paths instead of just filenames */
|
|
155
155
|
preservePath?: boolean;
|
|
156
156
|
/** Storage type */
|
|
157
|
-
storage?: "disk" | "memory"
|
|
157
|
+
storage?: "disk" | "memory";
|
|
158
158
|
/** Create parent directories if they don't exist */
|
|
159
159
|
createParentPath?: boolean;
|
|
160
160
|
/** Abort request on limit reached */
|
|
@@ -10403,7 +10403,7 @@ interface XServerOptions {
|
|
|
10403
10403
|
* // Custom file validation logic
|
|
10404
10404
|
* callback(null, true);
|
|
10405
10405
|
* },
|
|
10406
|
-
* storage: 'disk', // 'disk' | 'memory'
|
|
10406
|
+
* storage: 'disk', // 'disk' | 'memory'
|
|
10407
10407
|
* createParentPath: true,
|
|
10408
10408
|
* abortOnLimit: false,
|
|
10409
10409
|
* responseOnLimit: 'File too large',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xypriss",
|
|
3
|
-
"version": "9.12.
|
|
3
|
+
"version": "9.12.32",
|
|
4
4
|
"description": "XyPriss is a high-performance, TypeScript-first hyper-system web framework powered by a native Go core (XHSC), featuring robust multi-tenant sandboxing, secure native file streaming, and zero Express dependencies.",
|
|
5
5
|
"author": {
|
|
6
6
|
"DEV.to": "https://dev.to/nehonix",
|