xypriss 1.3.7 → 2.0.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 +219 -31
- package/dist/cjs/mods/security/src/components/cache/index.js +0 -72
- package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/cjs/mods/security/src/index.js +0 -3
- package/dist/cjs/mods/security/src/index.js.map +1 -1
- package/dist/cjs/shared/logger/Logger.js +2 -0
- package/dist/cjs/shared/logger/Logger.js.map +1 -1
- package/dist/cjs/src/index.js +55 -61
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js +281 -0
- package/dist/cjs/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
- package/dist/cjs/src/middleware/built-in/index.js +325 -0
- package/dist/cjs/src/middleware/built-in/index.js.map +1 -0
- package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
- package/dist/cjs/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
- package/dist/cjs/src/quick-start.js +0 -4
- package/dist/cjs/src/quick-start.js.map +1 -1
- package/dist/cjs/src/server/FastServer.js +53 -411
- package/dist/cjs/src/server/FastServer.js.map +1 -1
- package/dist/cjs/src/server/ServerFactory.js +7 -62
- package/dist/cjs/src/server/ServerFactory.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +1 -1
- package/dist/cjs/src/server/components/fastapi/PerformanceManager.js +1 -1
- package/dist/cjs/src/server/components/fastapi/PerformanceManager.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/RouteManager.js +0 -82
- package/dist/cjs/src/server/components/fastapi/RouteManager.js.map +1 -1
- package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +384 -0
- package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
- package/dist/cjs/src/server/const/default.js +0 -8
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/cjs/src/server/core/HttpServer.js +500 -0
- package/dist/cjs/src/server/core/HttpServer.js.map +1 -0
- package/dist/cjs/src/server/core/XyprissApp.js +412 -0
- package/dist/cjs/src/server/core/XyprissApp.js.map +1 -0
- package/dist/cjs/src/server/middleware/MiddlewareManager.js +146 -0
- package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -0
- package/dist/cjs/src/server/routing/Router.js +341 -0
- package/dist/cjs/src/server/routing/Router.js.map +1 -0
- package/dist/cjs/src/server/utils/PortManager.js +1 -0
- package/dist/cjs/src/server/utils/PortManager.js.map +1 -1
- package/dist/cjs/src/server/utils/es_modules.js +3 -2
- package/dist/cjs/src/server/utils/es_modules.js.map +1 -1
- package/dist/cjs/src/server/utils/forceClosePort.js +294 -88
- package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/index.js +1 -70
- package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/esm/mods/security/src/index.js +1 -1
- package/dist/esm/shared/logger/Logger.js +2 -0
- package/dist/esm/shared/logger/Logger.js.map +1 -1
- package/dist/esm/src/index.js +41 -11
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js +279 -0
- package/dist/esm/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
- package/dist/esm/src/middleware/built-in/index.js +323 -0
- package/dist/esm/src/middleware/built-in/index.js.map +1 -0
- package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js +1 -1
- package/dist/esm/src/plugins/modules/builtin/ResponseTimePlugin.js.map +1 -1
- package/dist/esm/src/quick-start.js +0 -4
- package/dist/esm/src/quick-start.js.map +1 -1
- package/dist/esm/src/server/FastServer.js +53 -411
- package/dist/esm/src/server/FastServer.js.map +1 -1
- package/dist/esm/src/server/ServerFactory.js +8 -59
- package/dist/esm/src/server/ServerFactory.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +1 -1
- package/dist/esm/src/server/components/fastapi/PerformanceManager.js +1 -1
- package/dist/esm/src/server/components/fastapi/PerformanceManager.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/RouteManager.js +0 -82
- package/dist/esm/src/server/components/fastapi/RouteManager.js.map +1 -1
- package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +382 -0
- package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -0
- package/dist/esm/src/server/const/default.js +0 -8
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/esm/src/server/core/HttpServer.js +498 -0
- package/dist/esm/src/server/core/HttpServer.js.map +1 -0
- package/dist/esm/src/server/core/XyprissApp.js +410 -0
- package/dist/esm/src/server/core/XyprissApp.js.map +1 -0
- package/dist/esm/src/server/middleware/MiddlewareManager.js +144 -0
- package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -0
- package/dist/esm/src/server/routing/Router.js +339 -0
- package/dist/esm/src/server/routing/Router.js.map +1 -0
- package/dist/esm/src/server/utils/PortManager.js +1 -0
- package/dist/esm/src/server/utils/PortManager.js.map +1 -1
- package/dist/esm/src/server/utils/es_modules.js +3 -3
- package/dist/esm/src/server/utils/es_modules.js.map +1 -1
- package/dist/esm/src/server/utils/forceClosePort.js +294 -88
- package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
- package/dist/index.d.ts +2166 -4273
- package/package.json +31 -19
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var PortManager = require('../../utils/PortManager.js');
|
|
4
|
+
var RequestProcessor = require('../fastapi/RequestProcessor.js');
|
|
5
|
+
var RouteManager = require('../fastapi/RouteManager.js');
|
|
6
|
+
var MonitoringManager = require('../fastapi/MonitoringManager.js');
|
|
7
|
+
var RedirectManager = require('../fastapi/RedirectManager.js');
|
|
8
|
+
var ConsoleInterceptor = require('../fastapi/console/ConsoleInterceptor.js');
|
|
9
|
+
var NotFoundHandler = require('../../handlers/NotFoundHandler.js');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* ServerLifecycleManager - Modular server lifecycle management
|
|
13
|
+
*
|
|
14
|
+
* This module handles server initialization, startup, and lifecycle management
|
|
15
|
+
* in a modular way, extracted from the main FastServer class for better
|
|
16
|
+
* separation of concerns and maintainability.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* ServerLifecycleManager - Handles server initialization and startup lifecycle
|
|
20
|
+
*/
|
|
21
|
+
class ServerLifecycleManager {
|
|
22
|
+
constructor(dependencies) {
|
|
23
|
+
this.dependencies = dependencies;
|
|
24
|
+
this.state = {
|
|
25
|
+
ready: false,
|
|
26
|
+
currentPort: 0,
|
|
27
|
+
initPromise: Promise.resolve(),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Initialize all dependent components
|
|
32
|
+
*/
|
|
33
|
+
async initializeDependentComponents() {
|
|
34
|
+
const { app, options, logger } = this.dependencies;
|
|
35
|
+
// Ensure required components are available
|
|
36
|
+
if (!this.dependencies.cacheManager ||
|
|
37
|
+
!this.dependencies.performanceManager ||
|
|
38
|
+
!this.dependencies.pluginManager) {
|
|
39
|
+
throw new Error("Required components (cacheManager, performanceManager, pluginManager) must be initialized before dependent components");
|
|
40
|
+
}
|
|
41
|
+
logger.debug("lifecycle", "Initializing dependent components...");
|
|
42
|
+
// Initialize components that depend on others
|
|
43
|
+
this.dependencies.requestProcessor = new RequestProcessor.RequestProcessor({
|
|
44
|
+
performanceProfiler: this.dependencies.performanceManager.getPerformanceProfiler(),
|
|
45
|
+
executionPredictor: this.dependencies.performanceManager.getExecutionPredictor(),
|
|
46
|
+
requestPreCompiler: this.dependencies.performanceManager.getRequestPreCompiler(),
|
|
47
|
+
pluginEngine: this.dependencies.pluginManager.getPluginEngine(),
|
|
48
|
+
cacheManager: this.dependencies.cacheManager,
|
|
49
|
+
});
|
|
50
|
+
this.dependencies.routeManager = new RouteManager.RouteManager({
|
|
51
|
+
app,
|
|
52
|
+
cacheManager: this.dependencies.cacheManager,
|
|
53
|
+
middlewareManager: this.dependencies.middlewareManager,
|
|
54
|
+
ultraFastOptimizer: this.dependencies.performanceManager.getUltraFastOptimizer(),
|
|
55
|
+
});
|
|
56
|
+
this.dependencies.monitoringManager = new MonitoringManager.MonitoringManager({
|
|
57
|
+
monitoring: options.monitoring,
|
|
58
|
+
}, {
|
|
59
|
+
app,
|
|
60
|
+
cacheManager: this.dependencies.cacheManager,
|
|
61
|
+
performanceManager: this.dependencies.performanceManager,
|
|
62
|
+
});
|
|
63
|
+
// Initialize other components
|
|
64
|
+
this.dependencies.redirectManager = new RedirectManager.RedirectManager(logger);
|
|
65
|
+
this.dependencies.consoleInterceptor = new ConsoleInterceptor.ConsoleInterceptor(logger, options.logging);
|
|
66
|
+
this.dependencies.notFoundHandler = NotFoundHandler.createNotFoundHandler(options);
|
|
67
|
+
if (options.logging?.consoleInterception?.enabled) {
|
|
68
|
+
this.dependencies.consoleInterceptor.start();
|
|
69
|
+
logger.info("console", "Console interception system activated");
|
|
70
|
+
}
|
|
71
|
+
logger.debug("lifecycle", "Dependent components initialized successfully");
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Start server with error handling and port switching
|
|
75
|
+
*/
|
|
76
|
+
async startServerWithPortHandling(port, host, callback) {
|
|
77
|
+
const { app, options, logger } = this.dependencies;
|
|
78
|
+
try {
|
|
79
|
+
// Check port availability first when auto port switch is enabled
|
|
80
|
+
if (options.server?.autoPortSwitch?.enabled) {
|
|
81
|
+
const portManager = new PortManager.PortManager(port, options.server?.autoPortSwitch);
|
|
82
|
+
const result = await portManager.findAvailablePort(host);
|
|
83
|
+
if (!result.success) {
|
|
84
|
+
throw new Error(`Failed to find an available port after ${options.server?.autoPortSwitch?.maxAttempts || 10} attempts`);
|
|
85
|
+
}
|
|
86
|
+
if (result.switched) {
|
|
87
|
+
logger.portSwitching("server", `🔄 Port ${port} was in use, switched to port ${result.port}`);
|
|
88
|
+
port = result.port; // Use the switched port
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
// When auto port switch is disabled, check if port is available first
|
|
93
|
+
const portManager = new PortManager.PortManager(port, { enabled: false });
|
|
94
|
+
const result = await portManager.findAvailablePort(host);
|
|
95
|
+
if (!result.success) {
|
|
96
|
+
throw new Error(`Failed to start server. Port ${port} is already in use. ` +
|
|
97
|
+
`Enable autoPortSwitch in server config to automatically find an available port.`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// Try to start server on the requested port
|
|
101
|
+
return new Promise((resolve, reject) => {
|
|
102
|
+
logger.debug("server", `ServerLifecycleManager: Starting server on ${host}:${port} using app.listen()`);
|
|
103
|
+
const server = app.listen(port, host, () => {
|
|
104
|
+
this.state.currentPort = port; // Track the actual running port
|
|
105
|
+
logger.info("server", `Server running on ${host}:${port}`);
|
|
106
|
+
logger.debug("server", `State: ${this.state.ready ? "Ready" : "Initializing..."}`);
|
|
107
|
+
if (callback)
|
|
108
|
+
callback();
|
|
109
|
+
resolve(server);
|
|
110
|
+
});
|
|
111
|
+
server.on("error", async (error) => {
|
|
112
|
+
logger.debug("server", `Server error on port ${port}: ${error.code} - ${error.message}`);
|
|
113
|
+
if (error.code === "EADDRINUSE") {
|
|
114
|
+
// Port is in use, try auto-switching if enabled
|
|
115
|
+
if (options.server?.autoPortSwitch?.enabled) {
|
|
116
|
+
logger.info("server", `🔄 Port ${port} is in use, attempting auto port switch...`);
|
|
117
|
+
try {
|
|
118
|
+
const result = await this.handlePortSwitching(port, host);
|
|
119
|
+
logger.info("server", `✅ Found available port: ${result.port}`);
|
|
120
|
+
// Recursively try with the new port
|
|
121
|
+
const newServer = await this.startServerWithPortHandling(result.port, host, callback);
|
|
122
|
+
resolve(newServer);
|
|
123
|
+
}
|
|
124
|
+
catch (switchError) {
|
|
125
|
+
logger.error("server", `❌ Port switching failed: ${switchError}`);
|
|
126
|
+
reject(switchError);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
reject(new Error(`Failed to start server. Port ${port} is already in use. ` +
|
|
131
|
+
`Enable autoPortSwitch in server config to automatically find an available port.`));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
reject(error);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Handle automatic port switching when port is in use
|
|
146
|
+
*/
|
|
147
|
+
async handlePortSwitching(requestedPort, host = "localhost") {
|
|
148
|
+
const { options, logger } = this.dependencies;
|
|
149
|
+
const portManager = new PortManager.PortManager(requestedPort, options.server?.autoPortSwitch);
|
|
150
|
+
const result = await portManager.findAvailablePort(host);
|
|
151
|
+
if (result.switched) {
|
|
152
|
+
logger.portSwitching("server", `🔄 Port ${requestedPort} was in use, switched to port ${result.port}`);
|
|
153
|
+
logger.portSwitching("server", ` Attempts: ${result.attempts}, Strategy: ${portManager.getConfig()?.strategy || "increment"}`);
|
|
154
|
+
}
|
|
155
|
+
if (!result.success) {
|
|
156
|
+
const maxAttempts = options.server?.autoPortSwitch?.maxAttempts || 10;
|
|
157
|
+
throw new Error(`Failed to find an available port after ${maxAttempts} attempts. ` +
|
|
158
|
+
`Original port: ${requestedPort}, Last attempted: ${result.port}`);
|
|
159
|
+
}
|
|
160
|
+
return result;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Get the current server state
|
|
164
|
+
*/
|
|
165
|
+
getState() {
|
|
166
|
+
return { ...this.state };
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Update the server state
|
|
170
|
+
*/
|
|
171
|
+
updateState(updates) {
|
|
172
|
+
this.state = { ...this.state, ...updates };
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get the current running port
|
|
176
|
+
*/
|
|
177
|
+
getCurrentPort() {
|
|
178
|
+
return this.state.currentPort;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Set the HTTP server instance
|
|
182
|
+
*/
|
|
183
|
+
setHttpServer(server) {
|
|
184
|
+
this.state.httpServer = server;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get the HTTP server instance
|
|
188
|
+
*/
|
|
189
|
+
getHttpServer() {
|
|
190
|
+
return this.state.httpServer;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Mark the server as ready
|
|
194
|
+
*/
|
|
195
|
+
markReady() {
|
|
196
|
+
this.state.ready = true;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Check if the server is ready
|
|
200
|
+
*/
|
|
201
|
+
isReady() {
|
|
202
|
+
return this.state.ready;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Add start method to app with cluster support
|
|
206
|
+
*/
|
|
207
|
+
addStartMethod(waitForReady) {
|
|
208
|
+
const { app, options, logger } = this.dependencies;
|
|
209
|
+
const start = async (port, callback) => {
|
|
210
|
+
// Wait for server to be ready before starting
|
|
211
|
+
if (!this.state.ready) {
|
|
212
|
+
logger.debug("server", "Waiting for initialization to complete...");
|
|
213
|
+
await waitForReady();
|
|
214
|
+
logger.info("server", "Initialization complete, starting server...");
|
|
215
|
+
}
|
|
216
|
+
const serverPort = port || options.server?.port || 3000;
|
|
217
|
+
const host = options.server?.host || "localhost";
|
|
218
|
+
// Handle different startup modes (hot reload, cluster, single process)
|
|
219
|
+
return await this.handleServerStartup(serverPort, host, callback);
|
|
220
|
+
};
|
|
221
|
+
// Add the start method to the app
|
|
222
|
+
app.start = start;
|
|
223
|
+
app.waitForReady = waitForReady;
|
|
224
|
+
// Add port management methods
|
|
225
|
+
app.getPort = () => this.getCurrentPort();
|
|
226
|
+
app.forceClosePort = async (port) => {
|
|
227
|
+
const { Port } = await Promise.resolve().then(function () { return require('../../utils/forceClosePort.js'); });
|
|
228
|
+
return await new Port(port).forceClosePort();
|
|
229
|
+
};
|
|
230
|
+
// Add redirect management methods if redirectManager is available
|
|
231
|
+
if (this.dependencies.redirectManager) {
|
|
232
|
+
app.redirectFromPort = (fromPort, toPort, options) => this.dependencies.redirectManager.redirectFromPort(fromPort, toPort, options);
|
|
233
|
+
app.getRedirectInstance = (fromPort) => this.dependencies.redirectManager.getRedirectInstance(fromPort);
|
|
234
|
+
app.getAllRedirectInstances = () => this.dependencies.redirectManager.getAllRedirectInstances();
|
|
235
|
+
app.disconnectRedirect = (fromPort) => this.dependencies.redirectManager.disconnectRedirect(fromPort);
|
|
236
|
+
app.disconnectAllRedirects = () => this.dependencies.redirectManager.disconnectAllRedirects();
|
|
237
|
+
app.getRedirectStats = (fromPort) => this.dependencies.redirectManager.getRedirectStats(fromPort);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Handle different server startup modes
|
|
242
|
+
*/
|
|
243
|
+
async handleServerStartup(serverPort, host, callback) {
|
|
244
|
+
const { logger } = this.dependencies;
|
|
245
|
+
// Check for hot reload mode
|
|
246
|
+
if (this.dependencies.fileWatcherManager?.isInMainProcess() &&
|
|
247
|
+
this.dependencies.fileWatcherManager?.getHotReloader()) {
|
|
248
|
+
return await this.handleHotReloadStartup(serverPort, host, callback);
|
|
249
|
+
}
|
|
250
|
+
// Check for cluster mode
|
|
251
|
+
if (this.dependencies.clusterManager?.isClusterEnabled()) {
|
|
252
|
+
return await this.handleClusterStartup(serverPort, host, callback);
|
|
253
|
+
}
|
|
254
|
+
// Default single process mode
|
|
255
|
+
logger.debug("server", "Taking single process mode path");
|
|
256
|
+
return await this.handleSingleProcessStartup(serverPort, host, callback);
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Handle hot reload startup
|
|
260
|
+
*/
|
|
261
|
+
async handleHotReloadStartup(serverPort, host, callback) {
|
|
262
|
+
const { logger } = this.dependencies;
|
|
263
|
+
logger.debug("server", "Taking hot reload mode path");
|
|
264
|
+
logger.startup("fileWatcher", "Starting with hot reload support...");
|
|
265
|
+
try {
|
|
266
|
+
// Start the hot reloader (which will spawn child process)
|
|
267
|
+
await this.dependencies
|
|
268
|
+
.fileWatcherManager.getHotReloader()
|
|
269
|
+
.start();
|
|
270
|
+
// Start file watcher in main process to monitor changes
|
|
271
|
+
if (this.dependencies.fileWatcherManager.getFileWatcher()) {
|
|
272
|
+
await this.dependencies.fileWatcherManager.startFileWatcherWithHotReload();
|
|
273
|
+
}
|
|
274
|
+
// Start the actual HTTP server in the main process too
|
|
275
|
+
this.state.httpServer = await this.startServerWithPortHandling(serverPort, host, async () => {
|
|
276
|
+
this.dependencies.fileWatcherManager.setHttpServer(this.state.httpServer);
|
|
277
|
+
if (callback)
|
|
278
|
+
callback();
|
|
279
|
+
});
|
|
280
|
+
return this.state.httpServer;
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
logger.error("fileWatcher", "Hot reload startup failed:", error.message);
|
|
284
|
+
// Fall through to regular startup
|
|
285
|
+
return await this.handleSingleProcessStartup(serverPort, host, callback);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Handle cluster startup
|
|
290
|
+
*/
|
|
291
|
+
async handleClusterStartup(serverPort, host, callback) {
|
|
292
|
+
const { logger } = this.dependencies;
|
|
293
|
+
// Double-check we're not in worker mode
|
|
294
|
+
if (process.env.CLUSTER_MODE === "true" ||
|
|
295
|
+
process.env.NODE_ENV === "worker") {
|
|
296
|
+
logger.debug("server", "Worker mode detected - falling back to single process");
|
|
297
|
+
return await this.handleSingleProcessStartup(serverPort, host, callback);
|
|
298
|
+
}
|
|
299
|
+
logger.debug("server", "Taking cluster mode path");
|
|
300
|
+
try {
|
|
301
|
+
// Start cluster manager
|
|
302
|
+
await this.dependencies.clusterManager.startCluster();
|
|
303
|
+
// Check if we're in master or worker process
|
|
304
|
+
if (process.env.NODE_ENV !== "worker") {
|
|
305
|
+
return await this.handleClusterMasterStartup(serverPort, host, callback);
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
return await this.handleClusterWorkerStartup(serverPort, host, callback);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
logger.error("cluster", "Failed to start cluster:", error.message);
|
|
313
|
+
logger.info("cluster", "Falling back to single process mode");
|
|
314
|
+
return await this.handleSingleProcessStartup(serverPort, host, callback);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Handle cluster master startup
|
|
319
|
+
*/
|
|
320
|
+
async handleClusterMasterStartup(serverPort, host, callback) {
|
|
321
|
+
const { logger } = this.dependencies;
|
|
322
|
+
logger.startup("cluster", "Starting as cluster master process");
|
|
323
|
+
// Setup cluster event handlers
|
|
324
|
+
this.dependencies.clusterManager.setupClusterEventHandlers();
|
|
325
|
+
// Start HTTP server in master process
|
|
326
|
+
this.state.httpServer = await this.startServerWithPortHandling(serverPort, host, async () => {
|
|
327
|
+
// Set HTTP server reference for file watcher restarts
|
|
328
|
+
this.dependencies.fileWatcherManager.setHttpServer(this.state.httpServer);
|
|
329
|
+
const clusterStats = await this.dependencies.clusterManager.getClusterStats();
|
|
330
|
+
logger.debug("cluster", `Cluster master started with ${clusterStats.workers?.total || 0} workers`);
|
|
331
|
+
// Start file watcher if enabled
|
|
332
|
+
if (this.dependencies.fileWatcherManager.getFileWatcher()) {
|
|
333
|
+
if (this.dependencies.fileWatcherManager.isInMainProcess()) {
|
|
334
|
+
await this.dependencies.fileWatcherManager.startFileWatcherWithHotReload();
|
|
335
|
+
}
|
|
336
|
+
else {
|
|
337
|
+
await this.dependencies.fileWatcherManager.startFileWatcher();
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
if (callback)
|
|
341
|
+
callback();
|
|
342
|
+
});
|
|
343
|
+
return this.state.httpServer;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Handle cluster worker startup
|
|
347
|
+
*/
|
|
348
|
+
async handleClusterWorkerStartup(serverPort, host, callback) {
|
|
349
|
+
const { logger } = this.dependencies;
|
|
350
|
+
logger.startup("cluster", `Worker ${process.pid} started`);
|
|
351
|
+
const httpServer = await this.startServerWithPortHandling(serverPort, host, () => {
|
|
352
|
+
logger.info("cluster", `Worker ${process.pid} listening on ${host}:${serverPort}`);
|
|
353
|
+
if (callback)
|
|
354
|
+
callback();
|
|
355
|
+
});
|
|
356
|
+
return httpServer;
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Handle single process startup
|
|
360
|
+
*/
|
|
361
|
+
async handleSingleProcessStartup(serverPort, host, callback) {
|
|
362
|
+
this.state.httpServer = await this.startServerWithPortHandling(serverPort, host, async () => {
|
|
363
|
+
// Set HTTP server reference for file watcher restarts
|
|
364
|
+
if (this.dependencies.fileWatcherManager) {
|
|
365
|
+
this.dependencies.fileWatcherManager.setHttpServer(this.state.httpServer);
|
|
366
|
+
// Start file watcher if enabled
|
|
367
|
+
if (this.dependencies.fileWatcherManager.getFileWatcher()) {
|
|
368
|
+
if (this.dependencies.fileWatcherManager.isInMainProcess()) {
|
|
369
|
+
await this.dependencies.fileWatcherManager.startFileWatcherWithHotReload();
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
await this.dependencies.fileWatcherManager.startFileWatcher();
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
if (callback)
|
|
377
|
+
callback();
|
|
378
|
+
});
|
|
379
|
+
return this.state.httpServer;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
exports.ServerLifecycleManager = ServerLifecycleManager;
|
|
384
|
+
//# sourceMappingURL=ServerLifecycleManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerLifecycleManager.js","sources":["../../../../../../src/server/components/lifecycle/ServerLifecycleManager.ts"],"sourcesContent":[null],"names":["RequestProcessor","RouteManager","MonitoringManager","RedirectManager","ConsoleInterceptor","createNotFoundHandler","PortManager"],"mappings":"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"}
|
|
@@ -20,14 +20,6 @@ const DEFAULT_OPTIONS = {
|
|
|
20
20
|
algorithm: "lru",
|
|
21
21
|
},
|
|
22
22
|
},
|
|
23
|
-
security: {
|
|
24
|
-
encryption: true,
|
|
25
|
-
accessMonitoring: true,
|
|
26
|
-
sanitization: true,
|
|
27
|
-
auditLogging: false,
|
|
28
|
-
cors: true,
|
|
29
|
-
helmet: true,
|
|
30
|
-
},
|
|
31
23
|
performance: {
|
|
32
24
|
compression: true,
|
|
33
25
|
batchSize: 100,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["DEFAULT_FW_CONFIG","DEFAULT_CONSOLE_CONFIG","DEFAULT_CLUSTER_CONFIGS"],"mappings":";;;;;;AAAA;;;;AAIG;AAOH;AACa,MAAA,eAAe,GAAkB;AAC1C,IAAA,KAAK,EAAE;QACH,QAAQ,EAAE,QAAQ;QAClB,GAAG,EAAE,MAAM;AACX,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,MAAM,EAAE;AACJ,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,SAAS,EAAE,KAAK;AACnB,SAAA;AACJ,KAAA;AACD,IAAA,
|
|
1
|
+
{"version":3,"file":"default.js","sources":["../../../../../src/server/const/default.ts"],"sourcesContent":[null],"names":["DEFAULT_FW_CONFIG","DEFAULT_CONSOLE_CONFIG","DEFAULT_CLUSTER_CONFIGS"],"mappings":"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"}
|