xypriss 9.5.55 → 9.6.0
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/README.md +10 -2
- package/dist/cjs/src/FiUp.js +1 -1
- package/dist/cjs/src/index.js +1 -1
- package/dist/cjs/src/server/FastServer.js +3 -3
- package/dist/cjs/src/server/FastServer.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js +245 -0
- package/dist/cjs/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -0
- package/dist/cjs/src/server/components/fastapi/upload/file-upload.js +257 -0
- package/dist/cjs/src/server/components/fastapi/upload/file-upload.js.map +1 -0
- package/dist/cjs/src/server/const/default.js +1 -1
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/cjs/src/server/core/ResponseEnhancer.js +15 -0
- package/dist/cjs/src/server/core/ResponseEnhancer.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCProtocol.js +6 -0
- package/dist/cjs/src/server/core/XHSCProtocol.js.map +1 -1
- package/dist/cjs/src/server/core/XyModuleManager.js +1 -1
- package/dist/cjs/src/server/routing/Router.js +94 -296
- package/dist/cjs/src/server/routing/Router.js.map +1 -1
- package/dist/cjs/src/server/routing/modules/constants.js +18 -0
- package/dist/cjs/src/server/routing/modules/constants.js.map +1 -0
- package/dist/cjs/src/server/routing/modules/groups.js +86 -0
- package/dist/cjs/src/server/routing/modules/groups.js.map +1 -0
- package/dist/cjs/src/server/routing/modules/helpers.js +76 -0
- package/dist/cjs/src/server/routing/modules/helpers.js.map +1 -0
- package/dist/cjs/src/server/routing/modules/middleware.js +140 -0
- package/dist/cjs/src/server/routing/modules/middleware.js.map +1 -0
- package/dist/cjs/src/server/routing/modules/path.js +132 -0
- package/dist/cjs/src/server/routing/modules/path.js.map +1 -0
- package/dist/cjs/src/server/routing/modules/registry.js +187 -0
- package/dist/cjs/src/server/routing/modules/registry.js.map +1 -0
- package/dist/esm/src/FiUp.js +1 -1
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/src/server/FastServer.js +3 -3
- package/dist/esm/src/server/FastServer.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js +224 -0
- package/dist/esm/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -0
- package/dist/esm/src/server/components/fastapi/upload/file-upload.js +250 -0
- package/dist/esm/src/server/components/fastapi/upload/file-upload.js.map +1 -0
- package/dist/esm/src/server/const/default.js +1 -1
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/esm/src/server/core/ResponseEnhancer.js +15 -0
- package/dist/esm/src/server/core/ResponseEnhancer.js.map +1 -1
- package/dist/esm/src/server/core/XHSCProtocol.js +6 -0
- package/dist/esm/src/server/core/XHSCProtocol.js.map +1 -1
- package/dist/esm/src/server/core/XyModuleManager.js +1 -1
- package/dist/esm/src/server/routing/Router.js +94 -296
- package/dist/esm/src/server/routing/Router.js.map +1 -1
- package/dist/esm/src/server/routing/modules/constants.js +15 -0
- package/dist/esm/src/server/routing/modules/constants.js.map +1 -0
- package/dist/esm/src/server/routing/modules/groups.js +84 -0
- package/dist/esm/src/server/routing/modules/groups.js.map +1 -0
- package/dist/esm/src/server/routing/modules/helpers.js +72 -0
- package/dist/esm/src/server/routing/modules/helpers.js.map +1 -0
- package/dist/esm/src/server/routing/modules/middleware.js +136 -0
- package/dist/esm/src/server/routing/modules/middleware.js.map +1 -0
- package/dist/esm/src/server/routing/modules/path.js +126 -0
- package/dist/esm/src/server/routing/modules/path.js.map +1 -0
- package/dist/esm/src/server/routing/modules/registry.js +184 -0
- package/dist/esm/src/server/routing/modules/registry.js.map +1 -0
- package/dist/index.d.ts +214 -108
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -53,7 +53,7 @@ This separation allows each layer to operate in its optimal domain: compiled nat
|
|
|
53
53
|
- **XHSC Native Engine** — Statically-linked system core with multi-core clustering, IPC bridge, and high-precision hardware telemetry across all supported platforms.
|
|
54
54
|
- **XEMS Session Security** — AES-256-GCM encrypted in-memory session store powered by a dedicated native Golang sidecar. Provides opaque tokens, per-request atomic rotation, sandboxed namespaces, and optional hardware-bound persistence — with zero external dependencies.
|
|
55
55
|
- **Security-First Architecture** — 12+ built-in security middleware modules including CSRF protection, XSS prevention, and intelligent rate limiting.
|
|
56
|
-
- **Advanced Radix Routing** — Ultra-fast routing
|
|
56
|
+
- **Advanced Radix Routing (V2)** — Ultra-fast, modular routing engine with support for typed path parameters, declarative guards, and native API versioning.
|
|
57
57
|
- **Real-Time System Intelligence** — Native access to CPU, memory, disk, network, battery, and process metrics directly from the application layer.
|
|
58
58
|
- **Filesystem Engine & Binary Streaming** — High-performance filesystem operations, duplicate detection, and robust **Zero-Copy Ranged Streaming** via `res.sendFile()`, optimized for media delivery and large assets.
|
|
59
59
|
- **File Upload Management** — Production-ready multipart/form-data handling with automatic validation, error handling, and the `getMimes()` helper for extension-to-mime mapping.
|
|
@@ -119,7 +119,14 @@ const app = createServer({
|
|
|
119
119
|
});
|
|
120
120
|
|
|
121
121
|
app.get("/", (req, res) => {
|
|
122
|
-
res.
|
|
122
|
+
res.success("Hello from XyPriss V2");
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
// Typed parameters & Versioning
|
|
126
|
+
app.version("v1", (v1) => {
|
|
127
|
+
v1.get("/user/:id<number>", (req, res) => {
|
|
128
|
+
res.success(`User ${req.params.id} accessed via V1`);
|
|
129
|
+
});
|
|
123
130
|
});
|
|
124
131
|
|
|
125
132
|
app.start();
|
|
@@ -137,6 +144,7 @@ app.start();
|
|
|
137
144
|
- [XFPM Guide](https://xypriss.nehonix.com/docs/xfpm) - Using the XyPriss Fast Package Manager
|
|
138
145
|
- [Examples](https://xypriss.nehonix.com/docs/EXAMPLES) - Practical code examples
|
|
139
146
|
- [Features Overview](https://xypriss.nehonix.com/docs/FEATURES_OVERVIEW) - Comprehensive feature list
|
|
147
|
+
- [Router Engine V2](./docs/router/README.md) - **NEW** Ultra-Rich modular routing documentation
|
|
140
148
|
|
|
141
149
|
### Security
|
|
142
150
|
|
package/dist/cjs/src/FiUp.js
CHANGED
package/dist/cjs/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var fileUpload = require('./file-upload.js');
|
|
3
|
+
var fileUpload = require('./server/components/fastapi/upload/file-upload.js');
|
|
4
4
|
var Router$1 = require('./server/routing/Router.js');
|
|
5
5
|
var ConfigLoader = require('./server/utils/ConfigLoader.js');
|
|
6
6
|
var sys = require('./sys.js');
|
|
@@ -22,7 +22,7 @@ var config = require('../config.js');
|
|
|
22
22
|
var safeJsonMiddleware = require('../middleware/safe-json-middleware.js');
|
|
23
23
|
var XJsonResponseHandler = require('../middleware/XJsonResponseHandler.js');
|
|
24
24
|
var CacheManager = require('./components/fastapi/CacheManager.js');
|
|
25
|
-
var FileUploadManager = require('./components/fastapi/FileUploadManager.js');
|
|
25
|
+
var FileUploadManager = require('./components/fastapi/upload/FileUploadManager.js');
|
|
26
26
|
var FileWatcherManager = require('./components/fastapi/FileWatcherManager.js');
|
|
27
27
|
var PerformanceManager = require('./components/fastapi/PerformanceManager.js');
|
|
28
28
|
var WorkerPoolComponent = require('./components/fastapi/WorkerPoolComponent.js');
|
|
@@ -289,7 +289,7 @@ class XyPrissServer {
|
|
|
289
289
|
this.logger.debug("server", `FileUploadManager initialized, enabled: ${this.fileUploadManager.isEnabled()}`);
|
|
290
290
|
// Initialize the global file upload API
|
|
291
291
|
if (this.fileUploadManager.isEnabled()) {
|
|
292
|
-
const { initializeFileUpload } = await Promise.resolve().then(function () { return require('
|
|
292
|
+
const { initializeFileUpload } = await Promise.resolve().then(function () { return require('./components/fastapi/upload/file-upload.js'); });
|
|
293
293
|
const { Configs } = await Promise.resolve().then(function () { return require('../config.js'); });
|
|
294
294
|
initializeFileUpload(Configs, this.logger);
|
|
295
295
|
this.logger.debug("server", "Global file upload API initialized");
|
|
@@ -391,7 +391,7 @@ class XyPrissServer {
|
|
|
391
391
|
// Auto-initialize Upload API if fileUpload is enabled
|
|
392
392
|
if (config.CM.get("fileUpload")?.enabled) {
|
|
393
393
|
try {
|
|
394
|
-
const { Upload } = await Promise.resolve().then(function () { return require('
|
|
394
|
+
const { Upload } = await Promise.resolve().then(function () { return require('./components/fastapi/upload/file-upload.js'); });
|
|
395
395
|
await Upload.initialize(config.CM);
|
|
396
396
|
this.logger.debug("server", "Upload API auto-initialized");
|
|
397
397
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FastServer.js","sources":["../../../../src/server/FastServer.ts"],"sourcesContent":[null],"names":["Configs","initializeLogger","ConsoleInterceptor","XyprissApp","XyRequestManager","CacheManager","PerformanceManager","PluginManager","FileWatcherManager","WorkerPoolComponent","SecurityMiddleware","xemsSession","DEFAULT_OPTIONS","FileUploadManager","createSafeJsonMiddleware","XJsonResponseHandler","createResponseManipulationMiddleware","ServerPluginManager","ConnectionPlugin","netConfig","ProxyPlugin","proxyConfig","Port","SecureInMemoryCache"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FastServer.js","sources":["../../../../src/server/FastServer.ts"],"sourcesContent":[null],"names":["Configs","initializeLogger","ConsoleInterceptor","XyprissApp","XyRequestManager","CacheManager","PerformanceManager","PluginManager","FileWatcherManager","WorkerPoolComponent","SecurityMiddleware","xemsSession","DEFAULT_OPTIONS","FileUploadManager","createSafeJsonMiddleware","XJsonResponseHandler","createResponseManipulationMiddleware","ServerPluginManager","ConnectionPlugin","netConfig","ProxyPlugin","proxyConfig","Port","SecureInMemoryCache"],"mappings":"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"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var path = require('path');
|
|
4
|
+
var config = require('../../../../config.js');
|
|
5
|
+
|
|
6
|
+
function _interopNamespaceDefault(e) {
|
|
7
|
+
var n = Object.create(null);
|
|
8
|
+
if (e) {
|
|
9
|
+
Object.keys(e).forEach(function (k) {
|
|
10
|
+
if (k !== 'default') {
|
|
11
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return e[k]; }
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* File Upload Manager for XyPriss Server
|
|
27
|
+
* Handles multer configuration and file upload middleware setup
|
|
28
|
+
*/
|
|
29
|
+
class FileUploadManager {
|
|
30
|
+
constructor(logger, config$1) {
|
|
31
|
+
this.upload = null;
|
|
32
|
+
this.config = config$1 || config.CM.get("fileUpload") || {};
|
|
33
|
+
this.logger = logger;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Initialize the file upload manager
|
|
37
|
+
*/
|
|
38
|
+
async initialize() {
|
|
39
|
+
if (!this.config.enabled) {
|
|
40
|
+
this.logger.debug("server", "File upload configuration disabled or not configured");
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.logger.debug("server", "Go-Native File Upload initialized");
|
|
44
|
+
this.upload = true; // Mark as initialized
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create default file filter based on configuration
|
|
48
|
+
*/
|
|
49
|
+
createDefaultFileFilter() {
|
|
50
|
+
return (req, file, cb) => {
|
|
51
|
+
this.logger.debug("server", `Filtering file: ${file.originalname}, type: ${file.mimetype}, size: ${file.size}`);
|
|
52
|
+
// Check file size if specified in config
|
|
53
|
+
if (this.config?.maxFileSize &&
|
|
54
|
+
file.size > this.config.maxFileSize) {
|
|
55
|
+
const maxSizeMB = (this.config.maxFileSize /
|
|
56
|
+
(1024 * 1024)).toFixed(2);
|
|
57
|
+
const fileSizeMB = (file.size / (1024 * 1024)).toFixed(2);
|
|
58
|
+
this.logger.debug("server", `File too large: ${fileSizeMB}MB > ${maxSizeMB}MB limit`);
|
|
59
|
+
return cb(new Error(`File too large. Maximum size: ${maxSizeMB}MB, file size: ${fileSizeMB}MB`), false);
|
|
60
|
+
}
|
|
61
|
+
// Default file filter - check allowed types if specified
|
|
62
|
+
if (this.config?.allowedMimeTypes) {
|
|
63
|
+
this.logger.debug("server", `Checking MIME types: ${this.config.allowedMimeTypes.join(", ")}`);
|
|
64
|
+
if (!this.config.allowedMimeTypes.includes(file.mimetype)) {
|
|
65
|
+
this.logger.debug("server", `MIME type ${file.mimetype} not allowed`);
|
|
66
|
+
return cb(new Error(`File type '${file.mimetype}' not allowed. Allowed types: ${this.config.allowedMimeTypes.join(", ")}`), false);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (this.config?.allowedExtensions) {
|
|
70
|
+
const ext = path__namespace.extname(file.originalname).toLowerCase();
|
|
71
|
+
this.logger.debug("server", `Checking extensions: ${this.config.allowedExtensions.join(", ")}, file ext: ${ext}`);
|
|
72
|
+
if (!this.config.allowedExtensions.includes(ext)) {
|
|
73
|
+
this.logger.debug("server", `File extension ${ext} not allowed`);
|
|
74
|
+
return cb(new Error(`File extension '${ext}' not allowed. Allowed extensions: ${this.config.allowedExtensions.join(", ")}`), false);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
this.logger.debug("server", "File passed filter");
|
|
78
|
+
cb(null, true);
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get the multer upload instance
|
|
83
|
+
*/
|
|
84
|
+
getUpload() {
|
|
85
|
+
return this.upload;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get single file upload middleware
|
|
89
|
+
*/
|
|
90
|
+
single(fieldname) {
|
|
91
|
+
return (req, res, next) => {
|
|
92
|
+
// Check for errors propagated from the binary
|
|
93
|
+
if (req.uploadErrors && Array.isArray(req.uploadErrors)) {
|
|
94
|
+
const fieldErrors = req.uploadErrors.filter((err) => err.fieldname === fieldname);
|
|
95
|
+
if (fieldErrors.length > 0) {
|
|
96
|
+
return next(new Error(fieldErrors[0].message ||
|
|
97
|
+
`File upload rejected for field ${fieldname}`));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const files = (req.files || []).filter((f) => f.fieldname === fieldname);
|
|
101
|
+
if (files.length > 1)
|
|
102
|
+
return next(new Error(`Unexpected multiple files for field ${fieldname}`));
|
|
103
|
+
const file = files[0];
|
|
104
|
+
if (!file)
|
|
105
|
+
return next(); // Multer optional behavior
|
|
106
|
+
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
107
|
+
if (err)
|
|
108
|
+
return next(err);
|
|
109
|
+
if (!accept)
|
|
110
|
+
return next(new Error("File rejected"));
|
|
111
|
+
req.file = file;
|
|
112
|
+
next();
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
array(fieldname, maxCount) {
|
|
117
|
+
return (req, res, next) => {
|
|
118
|
+
if (req.uploadErrors && Array.isArray(req.uploadErrors)) {
|
|
119
|
+
const fieldErrors = req.uploadErrors.filter((err) => err.fieldname === fieldname);
|
|
120
|
+
if (fieldErrors.length > 0) {
|
|
121
|
+
return next(new Error(fieldErrors[0].message ||
|
|
122
|
+
`File upload rejected for field ${fieldname}`));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const files = (req.files || []).filter((f) => f.fieldname === fieldname);
|
|
126
|
+
if (maxCount && files.length > maxCount) {
|
|
127
|
+
return next(new Error(`Too many files in field ${fieldname}. Max: ${maxCount}`));
|
|
128
|
+
}
|
|
129
|
+
let completed = 0;
|
|
130
|
+
let errorOccurred = false;
|
|
131
|
+
if (files.length === 0)
|
|
132
|
+
return next();
|
|
133
|
+
files.forEach((file) => {
|
|
134
|
+
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
135
|
+
if (errorOccurred)
|
|
136
|
+
return;
|
|
137
|
+
if (err) {
|
|
138
|
+
errorOccurred = true;
|
|
139
|
+
return next(err);
|
|
140
|
+
}
|
|
141
|
+
if (!accept) {
|
|
142
|
+
errorOccurred = true;
|
|
143
|
+
return next(new Error("File rejected"));
|
|
144
|
+
}
|
|
145
|
+
completed++;
|
|
146
|
+
if (completed === files.length)
|
|
147
|
+
next();
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
fields(fields) {
|
|
153
|
+
return (req, res, next) => {
|
|
154
|
+
const allFiles = req.files || [];
|
|
155
|
+
let errorOccurred = false;
|
|
156
|
+
let totalToValidate = 0;
|
|
157
|
+
let validatedCount = 0;
|
|
158
|
+
// First pass: count files and check maxCount
|
|
159
|
+
for (const field of fields) {
|
|
160
|
+
const files = allFiles.filter((f) => f.fieldname === field.name);
|
|
161
|
+
if (field.maxCount && files.length > field.maxCount) {
|
|
162
|
+
return next(new Error(`Too many files in field ${field.name}. Max: ${field.maxCount}`));
|
|
163
|
+
}
|
|
164
|
+
totalToValidate += files.length;
|
|
165
|
+
}
|
|
166
|
+
if (totalToValidate === 0)
|
|
167
|
+
return next();
|
|
168
|
+
// Second pass: validate each file
|
|
169
|
+
for (const field of fields) {
|
|
170
|
+
const files = allFiles.filter((f) => f.fieldname === field.name);
|
|
171
|
+
for (const file of files) {
|
|
172
|
+
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
173
|
+
if (errorOccurred)
|
|
174
|
+
return;
|
|
175
|
+
if (err) {
|
|
176
|
+
errorOccurred = true;
|
|
177
|
+
return next(err);
|
|
178
|
+
}
|
|
179
|
+
if (!accept) {
|
|
180
|
+
errorOccurred = true;
|
|
181
|
+
return next(new Error("File rejected"));
|
|
182
|
+
}
|
|
183
|
+
validatedCount++;
|
|
184
|
+
if (validatedCount === totalToValidate)
|
|
185
|
+
next();
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
any() {
|
|
192
|
+
return (req, res, next) => {
|
|
193
|
+
if (req.uploadErrors &&
|
|
194
|
+
Array.isArray(req.uploadErrors) &&
|
|
195
|
+
req.uploadErrors.length > 0) {
|
|
196
|
+
return next(new Error(req.uploadErrors[0].message || "File upload rejected"));
|
|
197
|
+
}
|
|
198
|
+
const files = req.files || [];
|
|
199
|
+
if (files.length === 0)
|
|
200
|
+
return next();
|
|
201
|
+
let completed = 0;
|
|
202
|
+
let errorOccurred = false;
|
|
203
|
+
files.forEach((file) => {
|
|
204
|
+
this.createDefaultFileFilter()(req, file, (err, accept) => {
|
|
205
|
+
if (errorOccurred)
|
|
206
|
+
return;
|
|
207
|
+
if (err) {
|
|
208
|
+
errorOccurred = true;
|
|
209
|
+
return next(err);
|
|
210
|
+
}
|
|
211
|
+
if (!accept) {
|
|
212
|
+
errorOccurred = true;
|
|
213
|
+
return next(new Error("File rejected"));
|
|
214
|
+
}
|
|
215
|
+
completed++;
|
|
216
|
+
if (completed === files.length)
|
|
217
|
+
next();
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
none() {
|
|
223
|
+
return (req, res, next) => {
|
|
224
|
+
if (req.files && req.files.length > 0) {
|
|
225
|
+
return next(new Error("Unexpected files in form-data"));
|
|
226
|
+
}
|
|
227
|
+
next();
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Check if file upload is enabled
|
|
232
|
+
*/
|
|
233
|
+
isEnabled() {
|
|
234
|
+
return this.config.enabled === true && this.upload !== null;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Get current configuration
|
|
238
|
+
*/
|
|
239
|
+
getConfig() {
|
|
240
|
+
return this.config;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
exports.FileUploadManager = FileUploadManager;
|
|
245
|
+
//# sourceMappingURL=FileUploadManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUploadManager.js","sources":["../../../../../../../src/server/components/fastapi/upload/FileUploadManager.ts"],"sourcesContent":[null],"names":["config","Configs","path"],"mappings":"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"}
|