@morojs/moro 1.6.5 → 1.6.6

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.
Files changed (32) hide show
  1. package/dist/core/events/event-bus.js +7 -4
  2. package/dist/core/events/event-bus.js.map +1 -1
  3. package/dist/core/http/http-server.d.ts +7 -0
  4. package/dist/core/http/http-server.js +236 -114
  5. package/dist/core/http/http-server.js.map +1 -1
  6. package/dist/core/http/uws-http-server.d.ts +4 -0
  7. package/dist/core/http/uws-http-server.js +235 -181
  8. package/dist/core/http/uws-http-server.js.map +1 -1
  9. package/dist/core/logger/logger.d.ts +7 -5
  10. package/dist/core/logger/logger.js +61 -24
  11. package/dist/core/logger/logger.js.map +1 -1
  12. package/dist/core/middleware/built-in/rate-limit/core.d.ts +5 -0
  13. package/dist/core/middleware/built-in/rate-limit/core.js +16 -8
  14. package/dist/core/middleware/built-in/rate-limit/core.js.map +1 -1
  15. package/dist/core/middleware/built-in/validation/core.js +40 -19
  16. package/dist/core/middleware/built-in/validation/core.js.map +1 -1
  17. package/dist/core/pooling/object-pool-manager.d.ts +8 -2
  18. package/dist/core/pooling/object-pool-manager.js +35 -18
  19. package/dist/core/pooling/object-pool-manager.js.map +1 -1
  20. package/dist/core/routing/path-matcher.d.ts +6 -0
  21. package/dist/core/routing/path-matcher.js +46 -7
  22. package/dist/core/routing/path-matcher.js.map +1 -1
  23. package/dist/core/routing/unified-router.d.ts +4 -0
  24. package/dist/core/routing/unified-router.js +104 -43
  25. package/dist/core/routing/unified-router.js.map +1 -1
  26. package/dist/core/utilities/hooks.d.ts +4 -0
  27. package/dist/core/utilities/hooks.js +130 -22
  28. package/dist/core/utilities/hooks.js.map +1 -1
  29. package/dist/moro.js +4 -5
  30. package/dist/moro.js.map +1 -1
  31. package/dist/types/logger.d.ts +1 -0
  32. package/package.json +1 -1
@@ -107,7 +107,10 @@ export class UWebSocketsHttpServer {
107
107
  // Parse body only if there's actually a body (check content-length)
108
108
  const method = req.getMethod().toUpperCase();
109
109
  const contentLength = req.getHeader('content-length');
110
- if ((method === 'POST' || method === 'PUT' || method === 'PATCH') &&
110
+ // Optimized: Check first char for early exit (all body methods start with 'P')
111
+ const firstChar = method.charCodeAt(0);
112
+ if (firstChar === 80 && // 'P' char code
113
+ (method === 'POST' || method === 'PUT' || method === 'PATCH') &&
111
114
  contentLength &&
112
115
  parseInt(contentLength) > 0) {
113
116
  await this.readBody(res, httpReq);
@@ -154,13 +157,33 @@ export class UWebSocketsHttpServer {
154
157
  if (httpReq) {
155
158
  const pooledQuery = httpReq._pooledQuery;
156
159
  const pooledHeaders = httpReq._pooledHeaders;
157
- if (pooledQuery && Object.keys(pooledQuery).length > 0) {
158
- this.poolManager.releaseQuery(pooledQuery);
160
+ // Only release if object has keys (avoid pool churn for empty objects)
161
+ if (pooledQuery) {
162
+ let hasKeys = false;
163
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
164
+ for (const _key in pooledQuery) {
165
+ hasKeys = true;
166
+ break;
167
+ }
168
+ if (hasKeys) {
169
+ this.poolManager.releaseQuery(pooledQuery);
170
+ }
159
171
  }
160
- if (pooledHeaders && Object.keys(pooledHeaders).length > 0) {
161
- this.poolManager.releaseHeaders(pooledHeaders);
172
+ if (pooledHeaders) {
173
+ let hasKeys = false;
174
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
175
+ for (const _key in pooledHeaders) {
176
+ hasKeys = true;
177
+ break;
178
+ }
179
+ if (hasKeys) {
180
+ this.poolManager.releaseHeaders(pooledHeaders);
181
+ }
162
182
  }
163
183
  }
184
+ if (httpRes) {
185
+ this.releaseResponse(httpRes);
186
+ }
164
187
  }
165
188
  }
166
189
  createMoroRequest(req, _res) {
@@ -191,8 +214,7 @@ export class UWebSocketsHttpServer {
191
214
  // Optimized header parsing with pooled object
192
215
  const headers = this.poolManager.acquireHeaders();
193
216
  req.forEach((key, value) => {
194
- const lowerKey = key.toLowerCase();
195
- headers[lowerKey] = value;
217
+ headers[key] = value;
196
218
  });
197
219
  const httpReq = {
198
220
  method,
@@ -210,32 +232,10 @@ export class UWebSocketsHttpServer {
210
232
  httpReq._pooledHeaders = headers;
211
233
  return httpReq;
212
234
  }
213
- // Optimized helper to write headers - avoids Object.entries() overhead
214
- static writeHeaders(res, headers, headerKeys) {
215
- const len = headerKeys.length;
216
- // Fast-path for common cases
217
- if (len === 0)
218
- return;
219
- if (len === 1) {
220
- // Single header (most common case) - no loop needed
221
- const key = headerKeys[0];
222
- const value = headers[key];
223
- res.writeHeader(key, Array.isArray(value) ? value.join(', ') : String(value));
224
- return;
225
- }
226
- if (len === 2) {
227
- // Two headers - unroll loop
228
- const key0 = headerKeys[0];
229
- const value0 = headers[key0];
230
- res.writeHeader(key0, Array.isArray(value0) ? value0.join(', ') : String(value0));
231
- const key1 = headerKeys[1];
232
- const value1 = headers[key1];
233
- res.writeHeader(key1, Array.isArray(value1) ? value1.join(', ') : String(value1));
234
- return;
235
- }
236
- // Multiple headers - use loop
237
- for (let i = 0; i < len; i++) {
238
- const key = headerKeys[i];
235
+ // Optimized helper to write headers
236
+ static writeHeaders(res, headers) {
237
+ // Performance: for...in is the fastest way to iterate response headers
238
+ for (const key in headers) {
239
239
  const value = headers[key];
240
240
  res.writeHeader(key, Array.isArray(value) ? value.join(', ') : String(value));
241
241
  }
@@ -244,171 +244,225 @@ export class UWebSocketsHttpServer {
244
244
  static getStatusString(code) {
245
245
  return UWebSocketsHttpServer.STATUS_STRINGS.get(code) || `${code} OK`;
246
246
  }
247
- createMoroResponse(req, res) {
248
- let headersSent = false;
249
- let statusCode = 200;
250
- const responseHeaders = {};
251
- let headerKeys = []; // Track header keys for fast iteration
252
- //eslint-disable-next-line @typescript-eslint/no-this-alias
253
- const self = this;
254
- const httpRes = {
255
- statusCode,
256
- get headersSent() {
257
- return headersSent;
258
- },
259
- status(code) {
260
- statusCode = code;
261
- httpRes.statusCode = code;
262
- return httpRes;
263
- },
264
- setHeader(name, value) {
265
- const lowerName = name.toLowerCase();
266
- if (!(lowerName in responseHeaders)) {
267
- headerKeys.push(lowerName);
268
- }
269
- responseHeaders[lowerName] = value;
270
- return httpRes;
271
- },
272
- getHeader(name) {
273
- return responseHeaders[name.toLowerCase()];
274
- },
275
- removeHeader(name) {
276
- const lowerName = name.toLowerCase();
277
- if (lowerName in responseHeaders) {
278
- delete responseHeaders[lowerName];
279
- headerKeys = headerKeys.filter(k => k !== lowerName);
247
+ // Pre-define methods on prototype instead of creating new closures for each request
248
+ static ResponsePrototype = class {
249
+ headersSent = false;
250
+ statusCode = 200;
251
+ responseHeaders = {};
252
+ _res;
253
+ _req;
254
+ _logger;
255
+ init(res, req, logger) {
256
+ this.headersSent = false;
257
+ this.statusCode = 200;
258
+ // Clear headers object (reuse to avoid allocation)
259
+ for (const key in this.responseHeaders) {
260
+ delete this.responseHeaders[key];
261
+ }
262
+ this._res = res;
263
+ this._req = req;
264
+ this._logger = logger;
265
+ return this;
266
+ }
267
+ status(code) {
268
+ this.statusCode = code;
269
+ return this;
270
+ }
271
+ setHeader(name, value) {
272
+ this.responseHeaders[name.toLowerCase()] = value;
273
+ return this;
274
+ }
275
+ getHeader(name) {
276
+ return this.responseHeaders[name.toLowerCase()];
277
+ }
278
+ removeHeader(name) {
279
+ const lowerName = name.toLowerCase();
280
+ if (lowerName in this.responseHeaders) {
281
+ delete this.responseHeaders[lowerName];
282
+ }
283
+ return this;
284
+ }
285
+ async json(data) {
286
+ if (this.headersSent || this._res.aborted)
287
+ return;
288
+ // Fast-path JSON serialization for common API patterns
289
+ let body;
290
+ if (data && typeof data === 'object' && 'success' in data) {
291
+ let keyCount = 0;
292
+ let hasData = false;
293
+ let hasError = false;
294
+ let hasTotal = false;
295
+ for (const key in data) {
296
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
297
+ keyCount++;
298
+ if (key === 'data')
299
+ hasData = true;
300
+ else if (key === 'error')
301
+ hasError = true;
302
+ else if (key === 'total')
303
+ hasTotal = true;
304
+ }
280
305
  }
281
- return httpRes;
282
- },
283
- async json(data) {
284
- if (headersSent || res.aborted)
285
- return;
286
- const body = JSON.stringify(data);
287
- // Set content-type if not already set
288
- if (!('content-type' in responseHeaders)) {
289
- responseHeaders['content-type'] = 'application/json';
290
- headerKeys.push('content-type');
306
+ if (keyCount === 3 && hasData && hasError) {
307
+ body = `{"success":${data.success},"data":${JSON.stringify(data.data)},"error":${JSON.stringify(data.error)}}`;
291
308
  }
292
- try {
293
- res.cork(() => {
294
- res.writeStatus(UWebSocketsHttpServer.getStatusString(statusCode));
295
- UWebSocketsHttpServer.writeHeaders(res, responseHeaders, headerKeys);
296
- res.end(body);
297
- });
298
- headersSent = true;
309
+ else if (keyCount === 3 && hasData && hasTotal) {
310
+ body = `{"success":${data.success},"data":${JSON.stringify(data.data)},"total":${data.total}}`;
299
311
  }
300
- catch {
301
- self.logger.error('Failed to send JSON response', 'ResponseError');
312
+ else if (keyCount === 2 && hasData) {
313
+ body = `{"success":${data.success},"data":${JSON.stringify(data.data)}}`;
302
314
  }
303
- },
304
- send(data) {
305
- if (headersSent || res.aborted)
306
- return;
307
- const body = typeof data === 'string' ? data : data.toString();
308
- try {
309
- res.cork(() => {
310
- res.writeStatus(UWebSocketsHttpServer.getStatusString(statusCode));
311
- UWebSocketsHttpServer.writeHeaders(res, responseHeaders, headerKeys);
312
- res.end(body);
313
- });
314
- headersSent = true;
315
+ else if (keyCount === 2 && hasError) {
316
+ body = `{"success":${data.success},"error":${JSON.stringify(data.error)}}`;
315
317
  }
316
- catch {
317
- self.logger.error('Failed to send response', 'ResponseError');
318
+ else {
319
+ body = JSON.stringify(data);
318
320
  }
319
- },
320
- end(data, encoding, callback) {
321
- if (headersSent || res.aborted) {
322
- if (typeof callback === 'function')
323
- callback();
324
- return httpRes;
321
+ }
322
+ else {
323
+ body = JSON.stringify(data);
324
+ }
325
+ if (!('content-type' in this.responseHeaders)) {
326
+ this.responseHeaders['content-type'] = 'application/json';
327
+ }
328
+ try {
329
+ this._res.cork(() => {
330
+ this._res.writeStatus(UWebSocketsHttpServer.getStatusString(this.statusCode));
331
+ UWebSocketsHttpServer.writeHeaders(this._res, this.responseHeaders);
332
+ this._res.end(body);
333
+ });
334
+ this.headersSent = true;
335
+ }
336
+ catch {
337
+ this._logger.error('Failed to send JSON response', 'ResponseError');
338
+ }
339
+ }
340
+ send(data) {
341
+ if (this.headersSent || this._res.aborted)
342
+ return;
343
+ const body = typeof data === 'string' ? data : data.toString();
344
+ try {
345
+ this._res.cork(() => {
346
+ this._res.writeStatus(UWebSocketsHttpServer.getStatusString(this.statusCode));
347
+ UWebSocketsHttpServer.writeHeaders(this._res, this.responseHeaders);
348
+ this._res.end(body);
349
+ });
350
+ this.headersSent = true;
351
+ }
352
+ catch {
353
+ this._logger.error('Failed to send response', 'ResponseError');
354
+ }
355
+ }
356
+ end(data, encoding, callback) {
357
+ if (this.headersSent || this._res.aborted) {
358
+ if (typeof callback === 'function')
359
+ callback();
360
+ return this;
361
+ }
362
+ try {
363
+ this._res.cork(() => {
364
+ this._res.writeStatus(UWebSocketsHttpServer.getStatusString(this.statusCode));
365
+ UWebSocketsHttpServer.writeHeaders(this._res, this.responseHeaders);
366
+ this._res.end(data || '');
367
+ });
368
+ this.headersSent = true;
369
+ if (typeof callback === 'function')
370
+ callback();
371
+ }
372
+ catch {
373
+ this._logger.error('Failed to end response', 'ResponseError');
374
+ if (typeof callback === 'function')
375
+ callback();
376
+ }
377
+ return this;
378
+ }
379
+ redirect(url, code) {
380
+ if (this.headersSent || this._res.aborted)
381
+ return;
382
+ const redirectCode = code || 302;
383
+ this.statusCode = redirectCode;
384
+ try {
385
+ this._res.cork(() => {
386
+ this._res.writeStatus(UWebSocketsHttpServer.getStatusString(redirectCode));
387
+ this._res.writeHeader('Location', url);
388
+ UWebSocketsHttpServer.writeHeaders(this._res, this.responseHeaders);
389
+ this._res.end();
390
+ });
391
+ this.headersSent = true;
392
+ }
393
+ catch {
394
+ this._logger.error('Failed to send redirect', 'ResponseError');
395
+ }
396
+ }
397
+ // EventEmitter stubs for middleware compatibility
398
+ on(_event, _callback) {
399
+ return this;
400
+ }
401
+ once(_event, _callback) {
402
+ return this;
403
+ }
404
+ emit(_event, ..._args) {
405
+ return true;
406
+ }
407
+ removeListener(_event, _callback) {
408
+ return this;
409
+ }
410
+ cookie(name, value, options) {
411
+ // Optimized: Build cookie string with array join for better performance
412
+ const parts = [name, '=', value];
413
+ if (options) {
414
+ if (options.maxAge) {
415
+ parts.push('; Max-Age=', String(options.maxAge));
325
416
  }
326
- try {
327
- res.cork(() => {
328
- res.writeStatus(UWebSocketsHttpServer.getStatusString(statusCode));
329
- UWebSocketsHttpServer.writeHeaders(res, responseHeaders, headerKeys);
330
- res.end(data || '');
331
- });
332
- headersSent = true;
333
- if (typeof callback === 'function')
334
- callback();
417
+ if (options.domain) {
418
+ parts.push('; Domain=', options.domain);
335
419
  }
336
- catch {
337
- self.logger.error('Failed to end response', 'ResponseError');
338
- if (typeof callback === 'function')
339
- callback();
420
+ if (options.path) {
421
+ parts.push('; Path=', options.path);
340
422
  }
341
- return httpRes;
342
- },
343
- redirect(url, code) {
344
- if (headersSent || res.aborted)
345
- return;
346
- const redirectCode = code || 302;
347
- statusCode = redirectCode;
348
- try {
349
- res.cork(() => {
350
- res.writeStatus(UWebSocketsHttpServer.getStatusString(redirectCode));
351
- res.writeHeader('Location', url);
352
- // Write any existing headers
353
- UWebSocketsHttpServer.writeHeaders(res, responseHeaders, headerKeys);
354
- res.end();
355
- });
356
- headersSent = true;
423
+ if (options.secure) {
424
+ parts.push('; Secure');
357
425
  }
358
- catch {
359
- self.logger.error('Failed to send redirect', 'ResponseError');
426
+ if (options.httpOnly) {
427
+ parts.push('; HttpOnly');
360
428
  }
361
- },
362
- // EventEmitter compatibility - stub implementations for middleware
363
- on(_event, _callback) {
364
- // uWebSockets doesn't use events like Node.js, but middleware might try to listen
365
- // Only implement 'finish' and 'close' events as stubs
366
- return httpRes;
367
- },
368
- once(_event, _callback) {
369
- return httpRes;
370
- },
371
- emit(_event, ..._args) {
372
- return true;
373
- },
374
- removeListener(_event, _callback) {
375
- return httpRes;
376
- },
377
- cookie(name, value, options) {
378
- let cookie = `${name}=${value}`;
379
- if (options) {
380
- if (options.maxAge)
381
- cookie += `; Max-Age=${options.maxAge}`;
382
- if (options.domain)
383
- cookie += `; Domain=${options.domain}`;
384
- if (options.path)
385
- cookie += `; Path=${options.path}`;
386
- if (options.secure)
387
- cookie += '; Secure';
388
- if (options.httpOnly)
389
- cookie += '; HttpOnly';
390
- if (options.sameSite)
391
- cookie += `; SameSite=${options.sameSite}`;
429
+ if (options.sameSite) {
430
+ parts.push('; SameSite=', options.sameSite);
392
431
  }
393
- const lowerKey = 'set-cookie';
394
- const existing = responseHeaders[lowerKey];
395
- if (existing) {
396
- if (Array.isArray(existing)) {
397
- responseHeaders[lowerKey] = [...existing, cookie];
398
- }
399
- else {
400
- responseHeaders[lowerKey] = [existing, cookie];
401
- }
432
+ }
433
+ const cookie = parts.join('');
434
+ const lowerKey = 'set-cookie';
435
+ const existing = this.responseHeaders[lowerKey];
436
+ if (existing) {
437
+ if (Array.isArray(existing)) {
438
+ existing.push(cookie);
402
439
  }
403
440
  else {
404
- responseHeaders[lowerKey] = cookie;
405
- headerKeys.push(lowerKey);
441
+ this.responseHeaders[lowerKey] = [existing, cookie];
406
442
  }
407
- return httpRes;
408
- },
409
- };
443
+ }
444
+ else {
445
+ this.responseHeaders[lowerKey] = cookie;
446
+ }
447
+ return this;
448
+ }
449
+ };
450
+ // Object pool for response objects (further optimization)
451
+ responsePool = [];
452
+ MAX_RESPONSE_POOL_SIZE = 100;
453
+ createMoroResponse(req, res) {
454
+ const httpRes = this.responsePool.length > 0
455
+ ? this.responsePool.pop()
456
+ : new UWebSocketsHttpServer.ResponsePrototype();
457
+ httpRes.init(res, req, this.logger);
410
458
  return httpRes;
411
459
  }
460
+ releaseResponse(httpRes) {
461
+ // Return response object to pool for reuse
462
+ if (this.responsePool.length < this.MAX_RESPONSE_POOL_SIZE) {
463
+ this.responsePool.push(httpRes);
464
+ }
465
+ }
412
466
  async readBody(res, httpReq) {
413
467
  return new Promise(resolve => {
414
468
  let buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"uws-http-server.js","sourceRoot":"","sources":["../../../src/core/http/uws-http-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uws-http-server.js","sourceRoot":"","sources":["../../../src/core/http/uws-http-server.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare class MoroLogger implements Logger {
18
18
  private cachedTimestamp;
19
19
  private lastTimestamp;
20
20
  private timestampCacheInterval;
21
+ private metricsEnabled;
21
22
  private static readonly ENTRY_POOL;
22
23
  private static readonly MAX_POOL_SIZE;
23
24
  private static poolIndex;
@@ -43,11 +44,12 @@ export declare class MoroLogger implements Logger {
43
44
  private static resetStringBuilder;
44
45
  private static appendToBuilder;
45
46
  private static buildString;
46
- debug(message: string, context?: string, metadata?: Record<string, any>): void;
47
- info(message: string, context?: string, metadata?: Record<string, any>): void;
48
- warn(message: string, context?: string, metadata?: Record<string, any>): void;
49
- error(message: string | Error, context?: string, metadata?: Record<string, any>): void;
50
- fatal(message: string | Error, context?: string, metadata?: Record<string, any>): void;
47
+ debug: (message: string, context?: string, metadata?: Record<string, any>) => void;
48
+ info: (message: string, context?: string, metadata?: Record<string, any>) => void;
49
+ warn: (message: string, context?: string, metadata?: Record<string, any>) => void;
50
+ error: (message: string | Error, context?: string, metadata?: Record<string, any>) => void;
51
+ fatal: (message: string | Error, context?: string, metadata?: Record<string, any>) => void;
52
+ private createLogMethod;
51
53
  time(label: string): void;
52
54
  timeEnd(label: string, context?: string, metadata?: Record<string, any>): void;
53
55
  child(context: string, metadata?: Record<string, any>): Logger;