xypriss 4.2.4 → 4.3.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/dist/cjs/src/server/components/multi-server/MultiServerManager.js +56 -29
- package/dist/cjs/src/server/components/multi-server/MultiServerManager.js.map +1 -1
- package/dist/cjs/src/server/core/HttpServer.js +59 -5
- package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
- package/dist/esm/src/server/components/multi-server/MultiServerManager.js +56 -29
- package/dist/esm/src/server/components/multi-server/MultiServerManager.js.map +1 -1
- package/dist/esm/src/server/core/HttpServer.js +59 -5
- package/dist/esm/src/server/core/HttpServer.js.map +1 -1
- package/dist/index.d.ts +50 -40
- package/package.json +1 -1
|
@@ -37,10 +37,18 @@ class MultiServerManager {
|
|
|
37
37
|
*/
|
|
38
38
|
async createServerInstance(config) {
|
|
39
39
|
// Merge base configuration with server-specific overrides
|
|
40
|
-
|
|
40
|
+
this.mergeServerConfig(config);
|
|
41
41
|
// Create server instance
|
|
42
|
-
const server = new FastServer.XyPrissServer(
|
|
42
|
+
const server = new FastServer.XyPrissServer();
|
|
43
43
|
const app = server.getApp();
|
|
44
|
+
// Apply server-specific response control configuration if provided
|
|
45
|
+
if (config.responseControl) {
|
|
46
|
+
const httpServer = app.getHttpServer?.();
|
|
47
|
+
if (httpServer &&
|
|
48
|
+
typeof httpServer.setResponseControl === "function") {
|
|
49
|
+
httpServer.setResponseControl(config.responseControl);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
44
52
|
// Apply route filtering if specified - filter routes from main app
|
|
45
53
|
if (config.allowedRoutes || config.routePrefix) {
|
|
46
54
|
this.applyRouteFilteringFromMainApp(app, config);
|
|
@@ -50,7 +58,7 @@ class MultiServerManager {
|
|
|
50
58
|
server,
|
|
51
59
|
config,
|
|
52
60
|
port: config.port,
|
|
53
|
-
host: config.host || this.baseConfig.server?.host || "localhost"
|
|
61
|
+
host: config.host || this.baseConfig.server?.host || "localhost",
|
|
54
62
|
};
|
|
55
63
|
}
|
|
56
64
|
/**
|
|
@@ -66,7 +74,7 @@ class MultiServerManager {
|
|
|
66
74
|
merged.server = {
|
|
67
75
|
...merged.server,
|
|
68
76
|
port: serverConfig.port,
|
|
69
|
-
host: serverConfig.host || merged.server?.host
|
|
77
|
+
host: serverConfig.host || merged.server?.host,
|
|
70
78
|
};
|
|
71
79
|
// Merge other overrides with deep merge for nested configs
|
|
72
80
|
if (serverConfig.security) {
|
|
@@ -75,24 +83,40 @@ class MultiServerManager {
|
|
|
75
83
|
...serverConfig.security,
|
|
76
84
|
// Deep merge CORS config to preserve nested properties
|
|
77
85
|
cors: serverConfig.security.cors !== undefined
|
|
78
|
-
?
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
86
|
+
? typeof serverConfig.security.cors === "object" &&
|
|
87
|
+
typeof merged.security?.cors === "object"
|
|
88
|
+
? {
|
|
89
|
+
...merged.security.cors,
|
|
90
|
+
...serverConfig.security.cors,
|
|
91
|
+
}
|
|
92
|
+
: serverConfig.security.cors
|
|
93
|
+
: merged.security?.cors,
|
|
82
94
|
};
|
|
83
95
|
}
|
|
84
96
|
if (serverConfig.performance) {
|
|
85
|
-
merged.performance = {
|
|
97
|
+
merged.performance = {
|
|
98
|
+
...merged.performance,
|
|
99
|
+
...serverConfig.performance,
|
|
100
|
+
};
|
|
86
101
|
}
|
|
87
102
|
if (serverConfig.cache) {
|
|
88
103
|
merged.cache = { ...merged.cache, ...serverConfig.cache };
|
|
89
104
|
}
|
|
90
105
|
if (serverConfig.fileUpload) {
|
|
91
|
-
merged.fileUpload = {
|
|
106
|
+
merged.fileUpload = {
|
|
107
|
+
...merged.fileUpload,
|
|
108
|
+
...serverConfig.fileUpload,
|
|
109
|
+
};
|
|
92
110
|
}
|
|
93
111
|
if (serverConfig.logging) {
|
|
94
112
|
merged.logging = { ...merged.logging, ...serverConfig.logging };
|
|
95
113
|
}
|
|
114
|
+
if (serverConfig.responseControl) {
|
|
115
|
+
merged.responseControl = {
|
|
116
|
+
...merged.responseControl,
|
|
117
|
+
...serverConfig.responseControl,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
96
120
|
return merged;
|
|
97
121
|
}
|
|
98
122
|
/**
|
|
@@ -109,8 +133,8 @@ class MultiServerManager {
|
|
|
109
133
|
}
|
|
110
134
|
// Check allowed routes patterns
|
|
111
135
|
if (config.allowedRoutes) {
|
|
112
|
-
return config.allowedRoutes.some(pattern => {
|
|
113
|
-
if (pattern.endsWith(
|
|
136
|
+
return config.allowedRoutes.some((pattern) => {
|
|
137
|
+
if (pattern.endsWith("/*")) {
|
|
114
138
|
// Wildcard pattern
|
|
115
139
|
const prefix = pattern.slice(0, -2);
|
|
116
140
|
return path.startsWith(prefix);
|
|
@@ -130,27 +154,30 @@ class MultiServerManager {
|
|
|
130
154
|
if (shouldAllowRoute(route.path)) {
|
|
131
155
|
this.logger.debug("server", `Server ${config.id} registering route: ${route.method} ${route.path}`);
|
|
132
156
|
// Register the route on this server
|
|
133
|
-
const handlers = [
|
|
157
|
+
const handlers = [
|
|
158
|
+
...(route.middleware || []),
|
|
159
|
+
route.handler,
|
|
160
|
+
];
|
|
134
161
|
switch (route.method?.toUpperCase()) {
|
|
135
|
-
case
|
|
162
|
+
case "GET":
|
|
136
163
|
app.get(route.path, ...handlers);
|
|
137
164
|
break;
|
|
138
|
-
case
|
|
165
|
+
case "POST":
|
|
139
166
|
app.post(route.path, ...handlers);
|
|
140
167
|
break;
|
|
141
|
-
case
|
|
168
|
+
case "PUT":
|
|
142
169
|
app.put(route.path, ...handlers);
|
|
143
170
|
break;
|
|
144
|
-
case
|
|
171
|
+
case "DELETE":
|
|
145
172
|
app.delete(route.path, ...handlers);
|
|
146
173
|
break;
|
|
147
|
-
case
|
|
174
|
+
case "PATCH":
|
|
148
175
|
app.patch(route.path, ...handlers);
|
|
149
176
|
break;
|
|
150
|
-
case
|
|
177
|
+
case "OPTIONS":
|
|
151
178
|
app.options(route.path, ...handlers);
|
|
152
179
|
break;
|
|
153
|
-
case
|
|
180
|
+
case "HEAD":
|
|
154
181
|
app.head(route.path, ...handlers);
|
|
155
182
|
break;
|
|
156
183
|
default:
|
|
@@ -178,7 +205,7 @@ class MultiServerManager {
|
|
|
178
205
|
*/
|
|
179
206
|
createFilteredRouter(originalRouter, allowedRoutes) {
|
|
180
207
|
// Import Router dynamically to avoid circular dependencies
|
|
181
|
-
const { Router } = require(
|
|
208
|
+
const { Router } = require("../../../routing/Router");
|
|
182
209
|
const filteredRouter = Router();
|
|
183
210
|
// Copy middleware from original router
|
|
184
211
|
const originalMiddleware = originalRouter.getMiddleware();
|
|
@@ -189,25 +216,25 @@ class MultiServerManager {
|
|
|
189
216
|
allowedRoutes.forEach((route) => {
|
|
190
217
|
const handlers = [...route.middleware, route.handler];
|
|
191
218
|
switch (route.method.toUpperCase()) {
|
|
192
|
-
case
|
|
219
|
+
case "GET":
|
|
193
220
|
filteredRouter.get(route.path, ...handlers);
|
|
194
221
|
break;
|
|
195
|
-
case
|
|
222
|
+
case "POST":
|
|
196
223
|
filteredRouter.post(route.path, ...handlers);
|
|
197
224
|
break;
|
|
198
|
-
case
|
|
225
|
+
case "PUT":
|
|
199
226
|
filteredRouter.put(route.path, ...handlers);
|
|
200
227
|
break;
|
|
201
|
-
case
|
|
228
|
+
case "DELETE":
|
|
202
229
|
filteredRouter.delete(route.path, ...handlers);
|
|
203
230
|
break;
|
|
204
|
-
case
|
|
231
|
+
case "PATCH":
|
|
205
232
|
filteredRouter.patch(route.path, ...handlers);
|
|
206
233
|
break;
|
|
207
|
-
case
|
|
234
|
+
case "OPTIONS":
|
|
208
235
|
filteredRouter.options(route.path, ...handlers);
|
|
209
236
|
break;
|
|
210
|
-
case
|
|
237
|
+
case "HEAD":
|
|
211
238
|
filteredRouter.head(route.path, ...handlers);
|
|
212
239
|
break;
|
|
213
240
|
}
|
|
@@ -269,7 +296,7 @@ class MultiServerManager {
|
|
|
269
296
|
}));
|
|
270
297
|
return {
|
|
271
298
|
totalServers: this.servers.size,
|
|
272
|
-
servers: serverStats
|
|
299
|
+
servers: serverStats,
|
|
273
300
|
};
|
|
274
301
|
}
|
|
275
302
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiServerManager.js","sources":["../../../../../../src/server/components/multi-server/MultiServerManager.ts"],"sourcesContent":[null],"names":["XyPrissServer"],"mappings":";;;;AAAA;;;AAGG;MAcU,kBAAkB,CAAA;AAM3B,IAAA,WAAA,CAAY,UAAyB,EAAE,MAAc,EAAE,OAAa,EAAA;AAF5D,QAAA,IAAA,CAAA,OAAO,GAAqC,IAAI,GAAG,EAAE,CAAC;AAG1D,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KAC1B;AAED;;AAEG;IACI,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"MultiServerManager.js","sources":["../../../../../../src/server/components/multi-server/MultiServerManager.ts"],"sourcesContent":[null],"names":["XyPrissServer"],"mappings":"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"}
|
|
@@ -168,7 +168,7 @@ class XyPrissHttpServer {
|
|
|
168
168
|
}
|
|
169
169
|
else {
|
|
170
170
|
// No route found - 404
|
|
171
|
-
this.send404(XyPrisReq, XyPrisRes);
|
|
171
|
+
await this.send404(XyPrisReq, XyPrisRes);
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
catch (error) {
|
|
@@ -526,11 +526,51 @@ class XyPrissHttpServer {
|
|
|
526
526
|
return params;
|
|
527
527
|
}
|
|
528
528
|
/**
|
|
529
|
-
* Send 404 response using NotFoundHandler
|
|
529
|
+
* Send 404 response using responseControl or NotFoundHandler
|
|
530
530
|
*/
|
|
531
|
-
send404(req, res) {
|
|
532
|
-
//
|
|
533
|
-
this.
|
|
531
|
+
async send404(req, res) {
|
|
532
|
+
// Check if custom response control is configured
|
|
533
|
+
if (this.responseControl?.enabled) {
|
|
534
|
+
try {
|
|
535
|
+
// Set status code
|
|
536
|
+
const statusCode = this.responseControl.statusCode || 404;
|
|
537
|
+
res.statusCode = statusCode;
|
|
538
|
+
// Set custom headers
|
|
539
|
+
if (this.responseControl.headers) {
|
|
540
|
+
res.set(this.responseControl.headers);
|
|
541
|
+
}
|
|
542
|
+
// Set content type
|
|
543
|
+
if (this.responseControl.contentType) {
|
|
544
|
+
res.setHeader("Content-Type", this.responseControl.contentType);
|
|
545
|
+
}
|
|
546
|
+
// Use custom handler if provided
|
|
547
|
+
if (this.responseControl.handler) {
|
|
548
|
+
await this.responseControl.handler(req, res);
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
// Send custom content
|
|
552
|
+
if (this.responseControl.content !== undefined) {
|
|
553
|
+
if (typeof this.responseControl.content === "object") {
|
|
554
|
+
res.json(this.responseControl.content);
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
res.send(this.responseControl.content);
|
|
558
|
+
}
|
|
559
|
+
return;
|
|
560
|
+
}
|
|
561
|
+
// Default content if no custom content provided
|
|
562
|
+
res.send(`Route not found: ${req.method} ${req.path}`);
|
|
563
|
+
}
|
|
564
|
+
catch (error) {
|
|
565
|
+
this.logger.error("server", `Error in custom response control: ${error}`);
|
|
566
|
+
// Fall back to default 404
|
|
567
|
+
this.notFoundHandler.handler(req, res);
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
// Use the NotFoundHandler to send a beautiful 404 page
|
|
572
|
+
this.notFoundHandler.handler(req, res);
|
|
573
|
+
}
|
|
534
574
|
}
|
|
535
575
|
/**
|
|
536
576
|
* Handle errors
|
|
@@ -584,6 +624,20 @@ class XyPrissHttpServer {
|
|
|
584
624
|
getRoutes() {
|
|
585
625
|
return [...this.routes];
|
|
586
626
|
}
|
|
627
|
+
/**
|
|
628
|
+
* Set custom notFound handler
|
|
629
|
+
*/
|
|
630
|
+
setNotFoundHandler(config) {
|
|
631
|
+
this.notFoundHandler =
|
|
632
|
+
new (require("../handlers/NotFoundHandler").NotFoundHandler)(config);
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* Set custom response control configuration
|
|
636
|
+
*/
|
|
637
|
+
setResponseControl(config) {
|
|
638
|
+
this.responseControl = config;
|
|
639
|
+
this.logger.debug("server", `Response control configured: ${config?.enabled ? "enabled" : "disabled"}`);
|
|
640
|
+
}
|
|
587
641
|
}
|
|
588
642
|
|
|
589
643
|
exports.XyPrissHttpServer = XyPrissHttpServer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpServer.js","sources":["../../../../../src/server/core/HttpServer.ts"],"sourcesContent":[null],"names":["MiddlewareManager","NotFoundHandler","TrustProxy","createHttpServer","parseUrl","parseQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HttpServer.js","sources":["../../../../../src/server/core/HttpServer.ts"],"sourcesContent":[null],"names":["MiddlewareManager","NotFoundHandler","TrustProxy","createHttpServer","parseUrl","parseQuery"],"mappings":"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"}
|
|
@@ -35,10 +35,18 @@ class MultiServerManager {
|
|
|
35
35
|
*/
|
|
36
36
|
async createServerInstance(config) {
|
|
37
37
|
// Merge base configuration with server-specific overrides
|
|
38
|
-
|
|
38
|
+
this.mergeServerConfig(config);
|
|
39
39
|
// Create server instance
|
|
40
|
-
const server = new XyPrissServer(
|
|
40
|
+
const server = new XyPrissServer();
|
|
41
41
|
const app = server.getApp();
|
|
42
|
+
// Apply server-specific response control configuration if provided
|
|
43
|
+
if (config.responseControl) {
|
|
44
|
+
const httpServer = app.getHttpServer?.();
|
|
45
|
+
if (httpServer &&
|
|
46
|
+
typeof httpServer.setResponseControl === "function") {
|
|
47
|
+
httpServer.setResponseControl(config.responseControl);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
42
50
|
// Apply route filtering if specified - filter routes from main app
|
|
43
51
|
if (config.allowedRoutes || config.routePrefix) {
|
|
44
52
|
this.applyRouteFilteringFromMainApp(app, config);
|
|
@@ -48,7 +56,7 @@ class MultiServerManager {
|
|
|
48
56
|
server,
|
|
49
57
|
config,
|
|
50
58
|
port: config.port,
|
|
51
|
-
host: config.host || this.baseConfig.server?.host || "localhost"
|
|
59
|
+
host: config.host || this.baseConfig.server?.host || "localhost",
|
|
52
60
|
};
|
|
53
61
|
}
|
|
54
62
|
/**
|
|
@@ -64,7 +72,7 @@ class MultiServerManager {
|
|
|
64
72
|
merged.server = {
|
|
65
73
|
...merged.server,
|
|
66
74
|
port: serverConfig.port,
|
|
67
|
-
host: serverConfig.host || merged.server?.host
|
|
75
|
+
host: serverConfig.host || merged.server?.host,
|
|
68
76
|
};
|
|
69
77
|
// Merge other overrides with deep merge for nested configs
|
|
70
78
|
if (serverConfig.security) {
|
|
@@ -73,24 +81,40 @@ class MultiServerManager {
|
|
|
73
81
|
...serverConfig.security,
|
|
74
82
|
// Deep merge CORS config to preserve nested properties
|
|
75
83
|
cors: serverConfig.security.cors !== undefined
|
|
76
|
-
?
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
84
|
+
? typeof serverConfig.security.cors === "object" &&
|
|
85
|
+
typeof merged.security?.cors === "object"
|
|
86
|
+
? {
|
|
87
|
+
...merged.security.cors,
|
|
88
|
+
...serverConfig.security.cors,
|
|
89
|
+
}
|
|
90
|
+
: serverConfig.security.cors
|
|
91
|
+
: merged.security?.cors,
|
|
80
92
|
};
|
|
81
93
|
}
|
|
82
94
|
if (serverConfig.performance) {
|
|
83
|
-
merged.performance = {
|
|
95
|
+
merged.performance = {
|
|
96
|
+
...merged.performance,
|
|
97
|
+
...serverConfig.performance,
|
|
98
|
+
};
|
|
84
99
|
}
|
|
85
100
|
if (serverConfig.cache) {
|
|
86
101
|
merged.cache = { ...merged.cache, ...serverConfig.cache };
|
|
87
102
|
}
|
|
88
103
|
if (serverConfig.fileUpload) {
|
|
89
|
-
merged.fileUpload = {
|
|
104
|
+
merged.fileUpload = {
|
|
105
|
+
...merged.fileUpload,
|
|
106
|
+
...serverConfig.fileUpload,
|
|
107
|
+
};
|
|
90
108
|
}
|
|
91
109
|
if (serverConfig.logging) {
|
|
92
110
|
merged.logging = { ...merged.logging, ...serverConfig.logging };
|
|
93
111
|
}
|
|
112
|
+
if (serverConfig.responseControl) {
|
|
113
|
+
merged.responseControl = {
|
|
114
|
+
...merged.responseControl,
|
|
115
|
+
...serverConfig.responseControl,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
94
118
|
return merged;
|
|
95
119
|
}
|
|
96
120
|
/**
|
|
@@ -107,8 +131,8 @@ class MultiServerManager {
|
|
|
107
131
|
}
|
|
108
132
|
// Check allowed routes patterns
|
|
109
133
|
if (config.allowedRoutes) {
|
|
110
|
-
return config.allowedRoutes.some(pattern => {
|
|
111
|
-
if (pattern.endsWith(
|
|
134
|
+
return config.allowedRoutes.some((pattern) => {
|
|
135
|
+
if (pattern.endsWith("/*")) {
|
|
112
136
|
// Wildcard pattern
|
|
113
137
|
const prefix = pattern.slice(0, -2);
|
|
114
138
|
return path.startsWith(prefix);
|
|
@@ -128,27 +152,30 @@ class MultiServerManager {
|
|
|
128
152
|
if (shouldAllowRoute(route.path)) {
|
|
129
153
|
this.logger.debug("server", `Server ${config.id} registering route: ${route.method} ${route.path}`);
|
|
130
154
|
// Register the route on this server
|
|
131
|
-
const handlers = [
|
|
155
|
+
const handlers = [
|
|
156
|
+
...(route.middleware || []),
|
|
157
|
+
route.handler,
|
|
158
|
+
];
|
|
132
159
|
switch (route.method?.toUpperCase()) {
|
|
133
|
-
case
|
|
160
|
+
case "GET":
|
|
134
161
|
app.get(route.path, ...handlers);
|
|
135
162
|
break;
|
|
136
|
-
case
|
|
163
|
+
case "POST":
|
|
137
164
|
app.post(route.path, ...handlers);
|
|
138
165
|
break;
|
|
139
|
-
case
|
|
166
|
+
case "PUT":
|
|
140
167
|
app.put(route.path, ...handlers);
|
|
141
168
|
break;
|
|
142
|
-
case
|
|
169
|
+
case "DELETE":
|
|
143
170
|
app.delete(route.path, ...handlers);
|
|
144
171
|
break;
|
|
145
|
-
case
|
|
172
|
+
case "PATCH":
|
|
146
173
|
app.patch(route.path, ...handlers);
|
|
147
174
|
break;
|
|
148
|
-
case
|
|
175
|
+
case "OPTIONS":
|
|
149
176
|
app.options(route.path, ...handlers);
|
|
150
177
|
break;
|
|
151
|
-
case
|
|
178
|
+
case "HEAD":
|
|
152
179
|
app.head(route.path, ...handlers);
|
|
153
180
|
break;
|
|
154
181
|
default:
|
|
@@ -176,7 +203,7 @@ class MultiServerManager {
|
|
|
176
203
|
*/
|
|
177
204
|
createFilteredRouter(originalRouter, allowedRoutes) {
|
|
178
205
|
// Import Router dynamically to avoid circular dependencies
|
|
179
|
-
const { Router } = require(
|
|
206
|
+
const { Router } = require("../../../routing/Router");
|
|
180
207
|
const filteredRouter = Router();
|
|
181
208
|
// Copy middleware from original router
|
|
182
209
|
const originalMiddleware = originalRouter.getMiddleware();
|
|
@@ -187,25 +214,25 @@ class MultiServerManager {
|
|
|
187
214
|
allowedRoutes.forEach((route) => {
|
|
188
215
|
const handlers = [...route.middleware, route.handler];
|
|
189
216
|
switch (route.method.toUpperCase()) {
|
|
190
|
-
case
|
|
217
|
+
case "GET":
|
|
191
218
|
filteredRouter.get(route.path, ...handlers);
|
|
192
219
|
break;
|
|
193
|
-
case
|
|
220
|
+
case "POST":
|
|
194
221
|
filteredRouter.post(route.path, ...handlers);
|
|
195
222
|
break;
|
|
196
|
-
case
|
|
223
|
+
case "PUT":
|
|
197
224
|
filteredRouter.put(route.path, ...handlers);
|
|
198
225
|
break;
|
|
199
|
-
case
|
|
226
|
+
case "DELETE":
|
|
200
227
|
filteredRouter.delete(route.path, ...handlers);
|
|
201
228
|
break;
|
|
202
|
-
case
|
|
229
|
+
case "PATCH":
|
|
203
230
|
filteredRouter.patch(route.path, ...handlers);
|
|
204
231
|
break;
|
|
205
|
-
case
|
|
232
|
+
case "OPTIONS":
|
|
206
233
|
filteredRouter.options(route.path, ...handlers);
|
|
207
234
|
break;
|
|
208
|
-
case
|
|
235
|
+
case "HEAD":
|
|
209
236
|
filteredRouter.head(route.path, ...handlers);
|
|
210
237
|
break;
|
|
211
238
|
}
|
|
@@ -267,7 +294,7 @@ class MultiServerManager {
|
|
|
267
294
|
}));
|
|
268
295
|
return {
|
|
269
296
|
totalServers: this.servers.size,
|
|
270
|
-
servers: serverStats
|
|
297
|
+
servers: serverStats,
|
|
271
298
|
};
|
|
272
299
|
}
|
|
273
300
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiServerManager.js","sources":["../../../../../../src/server/components/multi-server/MultiServerManager.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;AAGG;MAcU,kBAAkB,CAAA;AAM3B,IAAA,WAAA,CAAY,UAAyB,EAAE,MAAc,EAAE,OAAa,EAAA;AAF5D,QAAA,IAAA,CAAA,OAAO,GAAqC,IAAI,GAAG,EAAE,CAAC;AAG1D,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KAC1B;AAED;;AAEG;IACI,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"MultiServerManager.js","sources":["../../../../../../src/server/components/multi-server/MultiServerManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -166,7 +166,7 @@ class XyPrissHttpServer {
|
|
|
166
166
|
}
|
|
167
167
|
else {
|
|
168
168
|
// No route found - 404
|
|
169
|
-
this.send404(XyPrisReq, XyPrisRes);
|
|
169
|
+
await this.send404(XyPrisReq, XyPrisRes);
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
catch (error) {
|
|
@@ -524,11 +524,51 @@ class XyPrissHttpServer {
|
|
|
524
524
|
return params;
|
|
525
525
|
}
|
|
526
526
|
/**
|
|
527
|
-
* Send 404 response using NotFoundHandler
|
|
527
|
+
* Send 404 response using responseControl or NotFoundHandler
|
|
528
528
|
*/
|
|
529
|
-
send404(req, res) {
|
|
530
|
-
//
|
|
531
|
-
this.
|
|
529
|
+
async send404(req, res) {
|
|
530
|
+
// Check if custom response control is configured
|
|
531
|
+
if (this.responseControl?.enabled) {
|
|
532
|
+
try {
|
|
533
|
+
// Set status code
|
|
534
|
+
const statusCode = this.responseControl.statusCode || 404;
|
|
535
|
+
res.statusCode = statusCode;
|
|
536
|
+
// Set custom headers
|
|
537
|
+
if (this.responseControl.headers) {
|
|
538
|
+
res.set(this.responseControl.headers);
|
|
539
|
+
}
|
|
540
|
+
// Set content type
|
|
541
|
+
if (this.responseControl.contentType) {
|
|
542
|
+
res.setHeader("Content-Type", this.responseControl.contentType);
|
|
543
|
+
}
|
|
544
|
+
// Use custom handler if provided
|
|
545
|
+
if (this.responseControl.handler) {
|
|
546
|
+
await this.responseControl.handler(req, res);
|
|
547
|
+
return;
|
|
548
|
+
}
|
|
549
|
+
// Send custom content
|
|
550
|
+
if (this.responseControl.content !== undefined) {
|
|
551
|
+
if (typeof this.responseControl.content === "object") {
|
|
552
|
+
res.json(this.responseControl.content);
|
|
553
|
+
}
|
|
554
|
+
else {
|
|
555
|
+
res.send(this.responseControl.content);
|
|
556
|
+
}
|
|
557
|
+
return;
|
|
558
|
+
}
|
|
559
|
+
// Default content if no custom content provided
|
|
560
|
+
res.send(`Route not found: ${req.method} ${req.path}`);
|
|
561
|
+
}
|
|
562
|
+
catch (error) {
|
|
563
|
+
this.logger.error("server", `Error in custom response control: ${error}`);
|
|
564
|
+
// Fall back to default 404
|
|
565
|
+
this.notFoundHandler.handler(req, res);
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
else {
|
|
569
|
+
// Use the NotFoundHandler to send a beautiful 404 page
|
|
570
|
+
this.notFoundHandler.handler(req, res);
|
|
571
|
+
}
|
|
532
572
|
}
|
|
533
573
|
/**
|
|
534
574
|
* Handle errors
|
|
@@ -582,6 +622,20 @@ class XyPrissHttpServer {
|
|
|
582
622
|
getRoutes() {
|
|
583
623
|
return [...this.routes];
|
|
584
624
|
}
|
|
625
|
+
/**
|
|
626
|
+
* Set custom notFound handler
|
|
627
|
+
*/
|
|
628
|
+
setNotFoundHandler(config) {
|
|
629
|
+
this.notFoundHandler =
|
|
630
|
+
new (require("../handlers/NotFoundHandler").NotFoundHandler)(config);
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* Set custom response control configuration
|
|
634
|
+
*/
|
|
635
|
+
setResponseControl(config) {
|
|
636
|
+
this.responseControl = config;
|
|
637
|
+
this.logger.debug("server", `Response control configured: ${config?.enabled ? "enabled" : "disabled"}`);
|
|
638
|
+
}
|
|
585
639
|
}
|
|
586
640
|
|
|
587
641
|
export { XyPrissHttpServer };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpServer.js","sources":["../../../../../src/server/core/HttpServer.ts"],"sourcesContent":[null],"names":["createHttpServer","parseUrl","parseQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HttpServer.js","sources":["../../../../../src/server/core/HttpServer.ts"],"sourcesContent":[null],"names":["createHttpServer","parseUrl","parseQuery"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5677,6 +5677,21 @@ interface MultiServerConfig {
|
|
|
5677
5677
|
middleware?: MiddlewareConfiguration;
|
|
5678
5678
|
/** Logging configuration specific to this server */
|
|
5679
5679
|
logging?: ComponentLogConfig;
|
|
5680
|
+
/** Response control configuration for when routes don't match */
|
|
5681
|
+
responseControl?: {
|
|
5682
|
+
/** Enable custom response control (default: false) */
|
|
5683
|
+
enabled?: boolean;
|
|
5684
|
+
/** HTTP status code to send (default: 404) */
|
|
5685
|
+
statusCode?: number;
|
|
5686
|
+
/** Response content or message */
|
|
5687
|
+
content?: string | object;
|
|
5688
|
+
/** Content type header (default: "text/plain") */
|
|
5689
|
+
contentType?: string;
|
|
5690
|
+
/** Custom headers to set */
|
|
5691
|
+
headers?: Record<string, string>;
|
|
5692
|
+
/** Custom response handler function */
|
|
5693
|
+
handler?: (req: XyPrisRequest, res: XyPrisResponse) => void | Promise<void>;
|
|
5694
|
+
};
|
|
5680
5695
|
}
|
|
5681
5696
|
/**
|
|
5682
5697
|
* @fileoverview Comprehensive server options interface for XyPrissJS Express integration
|
|
@@ -6356,55 +6371,38 @@ interface ServerOptions {
|
|
|
6356
6371
|
};
|
|
6357
6372
|
};
|
|
6358
6373
|
/**
|
|
6359
|
-
*
|
|
6374
|
+
* Response control configuration for when routes don't match.
|
|
6360
6375
|
*
|
|
6361
|
-
* Allows customization of the
|
|
6362
|
-
*
|
|
6376
|
+
* Allows customization of the response sent when no routes match the request.
|
|
6377
|
+
* Useful for multi-server setups where different servers need different behaviors.
|
|
6363
6378
|
*
|
|
6364
6379
|
* @example
|
|
6365
6380
|
* ```typescript
|
|
6366
|
-
*
|
|
6381
|
+
* responseControl: {
|
|
6367
6382
|
* enabled: true,
|
|
6368
|
-
*
|
|
6369
|
-
*
|
|
6370
|
-
*
|
|
6371
|
-
*
|
|
6372
|
-
*
|
|
6373
|
-
*
|
|
6374
|
-
*
|
|
6375
|
-
* theme: "dark" // "light" | "dark" | "auto"
|
|
6383
|
+
* statusCode: 404,
|
|
6384
|
+
* content: "Custom not found message",
|
|
6385
|
+
* contentType: "text/plain",
|
|
6386
|
+
* headers: { "X-Custom-Header": "value" },
|
|
6387
|
+
* handler: (req, res) => {
|
|
6388
|
+
* res.status(404).json({ error: "Not found", path: req.path });
|
|
6389
|
+
* }
|
|
6376
6390
|
* }
|
|
6377
6391
|
* ```
|
|
6378
6392
|
*/
|
|
6379
|
-
|
|
6380
|
-
/** Enable custom
|
|
6393
|
+
responseControl?: {
|
|
6394
|
+
/** Enable custom response control (default: false) */
|
|
6381
6395
|
enabled?: boolean;
|
|
6382
|
-
/**
|
|
6383
|
-
|
|
6384
|
-
/**
|
|
6385
|
-
|
|
6386
|
-
/**
|
|
6387
|
-
|
|
6388
|
-
/** Custom
|
|
6389
|
-
|
|
6390
|
-
/**
|
|
6391
|
-
|
|
6392
|
-
/** URL to redirect to (default: "/") */
|
|
6393
|
-
redirectTo?: string;
|
|
6394
|
-
/** Show back button (readonly) */
|
|
6395
|
-
showBackButton?: boolean;
|
|
6396
|
-
/** Theme preference (default: "auto") */
|
|
6397
|
-
theme?: "light" | "dark" | "auto";
|
|
6398
|
-
/** Custom logo URL (optional) */
|
|
6399
|
-
logoUrl?: string;
|
|
6400
|
-
/** Additional custom HTML content */
|
|
6401
|
-
customContent?: string;
|
|
6402
|
-
/** Contact information to display */
|
|
6403
|
-
contact?: {
|
|
6404
|
-
email?: string;
|
|
6405
|
-
website?: string;
|
|
6406
|
-
support?: string;
|
|
6407
|
-
};
|
|
6396
|
+
/** HTTP status code to send (default: 404) */
|
|
6397
|
+
statusCode?: number;
|
|
6398
|
+
/** Response content or message */
|
|
6399
|
+
content?: string | object;
|
|
6400
|
+
/** Content type header (default: "text/plain") */
|
|
6401
|
+
contentType?: string;
|
|
6402
|
+
/** Custom headers to set */
|
|
6403
|
+
headers?: Record<string, string>;
|
|
6404
|
+
/** Custom response handler function */
|
|
6405
|
+
handler?: (req: XyPrisRequest, res: XyPrisResponse) => void | Promise<void>;
|
|
6408
6406
|
};
|
|
6409
6407
|
/**
|
|
6410
6408
|
* Network plugin configuration for enhanced networking capabilities.
|
|
@@ -6859,6 +6857,18 @@ interface UltraFastApp {
|
|
|
6859
6857
|
* ```
|
|
6860
6858
|
*/
|
|
6861
6859
|
getPort: () => number;
|
|
6860
|
+
/**
|
|
6861
|
+
* Get the HTTP server instance.
|
|
6862
|
+
*
|
|
6863
|
+
* @returns The underlying HTTP server instance
|
|
6864
|
+
*
|
|
6865
|
+
* @example
|
|
6866
|
+
* ```typescript
|
|
6867
|
+
* const httpServer = app.getHttpServer();
|
|
6868
|
+
* console.log(`Server address: ${httpServer.address()}`);
|
|
6869
|
+
* ```
|
|
6870
|
+
*/
|
|
6871
|
+
getHttpServer?: () => any;
|
|
6862
6872
|
/**
|
|
6863
6873
|
* Force close a specific port.
|
|
6864
6874
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xypriss",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "XyPriss is a lightweight, TypeScript-first, open-source Node.js web framework crafted for developers seeking a familiar Express-like API without Express dependencies. It features built-in security middleware, a robust routing system, and performance optimizations to build scalable, secure web applications effortlessly. Join our community and contribute on GitHub!",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|