@morojs/moro 1.7.28 → 1.7.29
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/core/config/schema.js +3 -1
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/framework.d.ts +0 -1
- package/dist/core/framework.js +14 -25
- package/dist/core/framework.js.map +1 -1
- package/dist/core/http/http-server.d.ts +124 -12
- package/dist/core/http/http-server.js +1067 -833
- package/dist/core/http/http-server.js.map +1 -1
- package/dist/core/http/uws-http-server.d.ts +72 -5
- package/dist/core/http/uws-http-server.js +718 -150
- package/dist/core/http/uws-http-server.js.map +1 -1
- package/dist/core/logger/logger.d.ts +2 -0
- package/dist/core/logger/logger.js +32 -6
- package/dist/core/logger/logger.js.map +1 -1
- package/dist/core/middleware/built-in/compression/core.js +47 -29
- package/dist/core/middleware/built-in/compression/core.js.map +1 -1
- package/dist/core/middleware/built-in/error-tracker/middleware.d.ts +5 -2
- package/dist/core/middleware/built-in/error-tracker/middleware.js +13 -11
- package/dist/core/middleware/built-in/error-tracker/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/index.d.ts +3 -3
- package/dist/core/middleware/built-in/performance-monitor/middleware.d.ts +2 -1
- package/dist/core/middleware/built-in/performance-monitor/middleware.js +7 -6
- package/dist/core/middleware/built-in/performance-monitor/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/request-logger/middleware.d.ts +2 -1
- package/dist/core/middleware/built-in/request-logger/middleware.js +5 -5
- package/dist/core/middleware/built-in/request-logger/middleware.js.map +1 -1
- package/dist/core/middleware/built-in/validation/core.js +61 -27
- package/dist/core/middleware/built-in/validation/core.js.map +1 -1
- package/dist/core/routing/radix-tree.d.ts +1 -0
- package/dist/core/routing/radix-tree.js +48 -10
- package/dist/core/routing/radix-tree.js.map +1 -1
- package/dist/core/routing/unified-router.d.ts +16 -0
- package/dist/core/routing/unified-router.js +39 -12
- package/dist/core/routing/unified-router.js.map +1 -1
- package/dist/core/utilities/hooks.d.ts +2 -0
- package/dist/core/utilities/hooks.js +12 -0
- package/dist/core/utilities/hooks.js.map +1 -1
- package/dist/moro.d.ts +1 -0
- package/dist/moro.js +44 -68
- package/dist/moro.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,7 +13,9 @@ export const DEFAULT_CONFIG = {
|
|
|
13
13
|
enabled: true, // Enable by default for debugging
|
|
14
14
|
},
|
|
15
15
|
requestLogging: {
|
|
16
|
-
|
|
16
|
+
// Enabled in development; disabled in production where a per-request
|
|
17
|
+
// stdout write is a real throughput cost. Set explicitly to override.
|
|
18
|
+
enabled: process.env.NODE_ENV !== 'production',
|
|
17
19
|
},
|
|
18
20
|
errorBoundary: {
|
|
19
21
|
enabled: true, // Always enabled for safety
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAI/C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,MAAM,EAAE;QACN,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,WAAW;QACjB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,MAAM;QACrB,aAAa,EAAE,OAAO,EAAE,wDAAwD;QAChF,cAAc,EAAE,KAAK,EAAE,8BAA8B;QACrD,eAAe,EAAE;YACf,OAAO,EAAE,IAAI,EAAE,kCAAkC;SAClD;QACD,cAAc,EAAE;YACd,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/core/framework.d.ts
CHANGED
|
@@ -52,7 +52,6 @@ export declare class Moro extends EventEmitter {
|
|
|
52
52
|
*/
|
|
53
53
|
private detectWebSocketAdapter;
|
|
54
54
|
private requestLoggingMiddleware;
|
|
55
|
-
private errorBoundaryMiddleware;
|
|
56
55
|
addMiddleware(middleware: any): this;
|
|
57
56
|
registerDatabase(adapter: any): this;
|
|
58
57
|
getContainer(): Container;
|
package/dist/core/framework.js
CHANGED
|
@@ -12,7 +12,7 @@ import { isPackageAvailable } from './utilities/package-utils.js';
|
|
|
12
12
|
import { MoroEventBus } from './events/index.js';
|
|
13
13
|
import { createFrameworkLogger, logger as globalLogger } from './logger/index.js';
|
|
14
14
|
import { mergeWebSocketConfig, } from './networking/websocket-adapter.js';
|
|
15
|
-
import { cors, helmet, compression
|
|
15
|
+
import { cors, helmet, compression } from './middleware/built-in/index.js';
|
|
16
16
|
export class Moro extends EventEmitter {
|
|
17
17
|
httpServer;
|
|
18
18
|
server; // HTTP/2 server type or uWebSockets app
|
|
@@ -59,7 +59,11 @@ export class Moro extends EventEmitter {
|
|
|
59
59
|
try {
|
|
60
60
|
// Try to use uWebSockets for high performance HTTP and WebSocket
|
|
61
61
|
const sslOptions = this.config.server?.ssl || options.https;
|
|
62
|
-
this.httpServer = new UWebSocketsHttpServer({
|
|
62
|
+
this.httpServer = new UWebSocketsHttpServer({
|
|
63
|
+
ssl: sslOptions,
|
|
64
|
+
maxBodySize: this.parseSizeToBytes(this.config.server.bodySizeLimit),
|
|
65
|
+
maxUploadSize: this.parseSizeToBytes(this.config.server.maxUploadSize),
|
|
66
|
+
});
|
|
63
67
|
this.server = this.httpServer.getApp();
|
|
64
68
|
this.usingUWebSockets = true;
|
|
65
69
|
this.logger.info('uWebSockets HTTP+WebSocket server created', 'ServerInit');
|
|
@@ -156,8 +160,9 @@ export class Moro extends EventEmitter {
|
|
|
156
160
|
: {};
|
|
157
161
|
this.httpServer.use(compression(compressionOptions));
|
|
158
162
|
}
|
|
159
|
-
// Body size
|
|
160
|
-
|
|
163
|
+
// Body size limits are enforced inside the HTTP server's parseBody
|
|
164
|
+
// (configured via maxBodySize/maxUploadSize above), which responds 413.
|
|
165
|
+
// No per-request middleware needed - keeps the default chain empty.
|
|
161
166
|
// Configure request tracking (ID generation) in HTTP server
|
|
162
167
|
if (this.httpServer.setRequestTracking) {
|
|
163
168
|
this.httpServer.setRequestTracking(this.config.server.requestTracking.enabled);
|
|
@@ -166,10 +171,11 @@ export class Moro extends EventEmitter {
|
|
|
166
171
|
if (this.config.server.requestLogging.enabled) {
|
|
167
172
|
this.httpServer.use(this.requestLoggingMiddleware());
|
|
168
173
|
}
|
|
169
|
-
// Error boundary
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
174
|
+
// Error boundary: handled by the HTTP server's top-level catch in
|
|
175
|
+
// handleRequest (which invokes the registered errorHandler / default 500).
|
|
176
|
+
// The old errorBoundaryMiddleware wrapped a callback-style next() in
|
|
177
|
+
// try/catch, which can never observe downstream errors - it cost a promise
|
|
178
|
+
// per request and caught nothing, so it is no longer installed.
|
|
173
179
|
}
|
|
174
180
|
/**
|
|
175
181
|
* Setup WebSocket adapter and manager
|
|
@@ -297,23 +303,6 @@ export class Moro extends EventEmitter {
|
|
|
297
303
|
next();
|
|
298
304
|
};
|
|
299
305
|
}
|
|
300
|
-
errorBoundaryMiddleware() {
|
|
301
|
-
return async (req, res, next) => {
|
|
302
|
-
try {
|
|
303
|
-
next();
|
|
304
|
-
}
|
|
305
|
-
catch (error) {
|
|
306
|
-
this.logger.error('Error:', error.message, error.stack);
|
|
307
|
-
if (!res.headersSent) {
|
|
308
|
-
res.status(500).json({
|
|
309
|
-
success: false,
|
|
310
|
-
error: 'Internal server error',
|
|
311
|
-
requestId: req.requestId,
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
306
|
// Public API for adding middleware
|
|
318
307
|
addMiddleware(middleware) {
|
|
319
308
|
// Check if it's a MiddlewareInterface object - don't add to globalMiddleware
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/core/framework.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"framework.js","sourceRoot":"","sources":["../../src/core/framework.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,131 @@
|
|
|
1
|
-
import { Server } from 'http';
|
|
1
|
+
import { IncomingMessage, ServerResponse, Server } from 'http';
|
|
2
2
|
import { HttpRequest, HttpResponse, HttpHandler, Middleware } from '../../types/http.js';
|
|
3
|
+
export declare class MoroIncomingMessage extends IncomingMessage {
|
|
4
|
+
/** Bound on the per-server subclass prototype - no per-request write needed */
|
|
5
|
+
_server: MoroHttpServer;
|
|
6
|
+
params: Record<string, string>;
|
|
7
|
+
body: any;
|
|
8
|
+
path: string;
|
|
9
|
+
_queryString: string | null;
|
|
10
|
+
_query: Record<string, string> | undefined;
|
|
11
|
+
_cookies: Record<string, string> | undefined;
|
|
12
|
+
_context: Record<string, any> | undefined;
|
|
13
|
+
_requestId: string | undefined;
|
|
14
|
+
_ip: string | undefined;
|
|
15
|
+
_originalUrl: string | undefined;
|
|
16
|
+
_hostname: string | undefined;
|
|
17
|
+
_protocol: string | undefined;
|
|
18
|
+
_secure: boolean | undefined;
|
|
19
|
+
_xhr: boolean | undefined;
|
|
20
|
+
_ips: string[] | undefined;
|
|
21
|
+
_subdomains: string[] | undefined;
|
|
22
|
+
get query(): Record<string, string>;
|
|
23
|
+
set query(value: Record<string, string>);
|
|
24
|
+
get cookies(): Record<string, string>;
|
|
25
|
+
set cookies(value: Record<string, string>);
|
|
26
|
+
get context(): Record<string, any>;
|
|
27
|
+
set context(value: Record<string, any>);
|
|
28
|
+
get requestId(): string;
|
|
29
|
+
set requestId(value: string);
|
|
30
|
+
get ip(): string;
|
|
31
|
+
set ip(value: string);
|
|
32
|
+
get originalUrl(): string;
|
|
33
|
+
set originalUrl(value: string);
|
|
34
|
+
get hostname(): string;
|
|
35
|
+
set hostname(value: string);
|
|
36
|
+
get protocol(): string;
|
|
37
|
+
set protocol(value: string);
|
|
38
|
+
get secure(): boolean;
|
|
39
|
+
set secure(value: boolean);
|
|
40
|
+
get xhr(): boolean;
|
|
41
|
+
set xhr(value: boolean);
|
|
42
|
+
get ips(): string[];
|
|
43
|
+
set ips(value: string[]);
|
|
44
|
+
get subdomains(): string[];
|
|
45
|
+
set subdomains(value: string[]);
|
|
46
|
+
get(name: string): string | undefined;
|
|
47
|
+
header(name: string): string | undefined;
|
|
48
|
+
is(type: string): boolean;
|
|
49
|
+
accepts(types?: string | string[]): string | false;
|
|
50
|
+
acceptsLanguages(langs?: string | string[]): string | false;
|
|
51
|
+
}
|
|
52
|
+
export declare class MoroServerResponse extends ServerResponse {
|
|
53
|
+
/** Bound on the per-server subclass prototype - no per-request write needed */
|
|
54
|
+
_server: MoroHttpServer;
|
|
55
|
+
_locals: Record<string, any> | undefined;
|
|
56
|
+
get locals(): Record<string, any>;
|
|
57
|
+
set locals(value: Record<string, any>);
|
|
58
|
+
status(code: number): this;
|
|
59
|
+
json(data: any): void;
|
|
60
|
+
send(data: string | Buffer): void;
|
|
61
|
+
cookie(name: string, value: string, options?: any): this;
|
|
62
|
+
clearCookie(name: string, options?: any): this;
|
|
63
|
+
redirect(url: string, status?: number): void;
|
|
64
|
+
sendFile(filePath: string): Promise<void>;
|
|
65
|
+
success<T = any>(data: T, message?: string): void;
|
|
66
|
+
error(error: string, code?: string, message?: string): void;
|
|
67
|
+
unauthorized(message?: string): void;
|
|
68
|
+
forbidden(message?: string): void;
|
|
69
|
+
notFound(resource?: string): void;
|
|
70
|
+
badRequest(message?: string): void;
|
|
71
|
+
conflict(message: string): void;
|
|
72
|
+
internalError(message?: string): void;
|
|
73
|
+
validationError(errors: Array<{
|
|
74
|
+
field: string;
|
|
75
|
+
message: string;
|
|
76
|
+
code?: string;
|
|
77
|
+
}>): void;
|
|
78
|
+
rateLimited(retryAfter?: number): void;
|
|
79
|
+
created<T = any>(data: T, location?: string): void;
|
|
80
|
+
noContent(): void;
|
|
81
|
+
paginated<T = any>(data: T[], pagination: {
|
|
82
|
+
page: number;
|
|
83
|
+
limit: number;
|
|
84
|
+
total: number;
|
|
85
|
+
}): void;
|
|
86
|
+
hasHeader(name: string): boolean;
|
|
87
|
+
setBulkHeaders(headers: Record<string, string | number>): this;
|
|
88
|
+
appendHeader(name: string, value: string | string[]): this;
|
|
89
|
+
set(field: string | Record<string, string | string[] | number>, value?: string | string[] | number): this;
|
|
90
|
+
get(field: string): any;
|
|
91
|
+
append(field: string, value: string | string[]): this;
|
|
92
|
+
type(contentType: string): this;
|
|
93
|
+
sendStatus(code: number): void;
|
|
94
|
+
location(url: string): this;
|
|
95
|
+
vary(field: string | string[]): this;
|
|
96
|
+
attachment(filename?: string): this;
|
|
97
|
+
download(filePath: string, filename?: string): Promise<void>;
|
|
98
|
+
format(handlers: Record<string, () => any | Promise<any>>): void;
|
|
99
|
+
links(links: Record<string, string>): this;
|
|
100
|
+
canSetHeaders(): boolean;
|
|
101
|
+
getResponseState(): {
|
|
102
|
+
headersSent: boolean;
|
|
103
|
+
statusCode: number;
|
|
104
|
+
headers: import("http").OutgoingHttpHeaders;
|
|
105
|
+
finished: boolean;
|
|
106
|
+
writable: boolean;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
3
109
|
export declare class MoroHttpServer {
|
|
4
110
|
private server;
|
|
5
111
|
private routes;
|
|
6
112
|
private globalMiddleware;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
113
|
+
/** @internal read by MoroServerResponse prototype methods */
|
|
114
|
+
compressionEnabled: boolean;
|
|
115
|
+
/** @internal read by MoroServerResponse prototype methods */
|
|
116
|
+
compressionThreshold: number;
|
|
117
|
+
/** @internal read by MoroIncomingMessage prototype methods */
|
|
118
|
+
requestTrackingEnabled: boolean;
|
|
119
|
+
/** @internal read by MoroServerResponse prototype methods */
|
|
120
|
+
logger: import("../logger/index.js").Logger;
|
|
11
121
|
private hookManager;
|
|
12
122
|
private requestCounter;
|
|
13
123
|
private errorHandler?;
|
|
14
124
|
private requestDecorations;
|
|
15
125
|
private responseDecorations;
|
|
126
|
+
private RequestClass;
|
|
127
|
+
private ResponseClass;
|
|
128
|
+
private routerHandler?;
|
|
16
129
|
private maxBodySize;
|
|
17
130
|
private maxUploadSize;
|
|
18
131
|
private poolManager;
|
|
@@ -28,6 +141,7 @@ export declare class MoroHttpServer {
|
|
|
28
141
|
maxBodySize?: number;
|
|
29
142
|
maxUploadSize?: number;
|
|
30
143
|
});
|
|
144
|
+
setRouterHandler(fn: (req: HttpRequest, res: HttpResponse) => boolean | Promise<boolean>): void;
|
|
31
145
|
configurePerformance(config?: {
|
|
32
146
|
compression?: {
|
|
33
147
|
enabled: boolean;
|
|
@@ -49,18 +163,15 @@ export declare class MoroHttpServer {
|
|
|
49
163
|
private addRoute;
|
|
50
164
|
private pathToRegex;
|
|
51
165
|
private handleRequest;
|
|
52
|
-
private acquireParamObject;
|
|
53
|
-
private releaseParamObject;
|
|
54
166
|
private forceCleanupPools;
|
|
55
167
|
private acquireBuffer;
|
|
56
168
|
private releaseBuffer;
|
|
57
169
|
private streamLargeResponse;
|
|
58
170
|
private normalizePath;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
private addCharsetIfNeeded;
|
|
171
|
+
/** @internal called by MoroServerResponse prototype methods */
|
|
172
|
+
getMimeType(ext: string): Promise<string>;
|
|
173
|
+
/** @internal called by MoroServerResponse prototype methods */
|
|
174
|
+
addCharsetIfNeeded(mimeType: string): string;
|
|
64
175
|
private parseBody;
|
|
65
176
|
/**
|
|
66
177
|
* Create a streaming body parser for large payloads
|
|
@@ -98,6 +209,7 @@ export declare class MoroHttpServer {
|
|
|
98
209
|
private static readonly HOT_ROUTE_THRESHOLD;
|
|
99
210
|
private findRoute;
|
|
100
211
|
private executeMiddleware;
|
|
212
|
+
private dispatchMiddleware;
|
|
101
213
|
listen(port: number, callback?: () => void): void;
|
|
102
214
|
listen(port: number, host: string, callback?: () => void): void;
|
|
103
215
|
close(): Promise<void>;
|