exisjs 0.7.9 → 0.7.11

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 (140) hide show
  1. package/dist/cli/commands/dev.d.ts.map +1 -1
  2. package/dist/cli/commands/dev.js +8 -1
  3. package/dist/cli/commands/dev.js.map +1 -1
  4. package/dist/config/config.d.ts +2 -1
  5. package/dist/config/config.d.ts.map +1 -1
  6. package/dist/config/config.js +1 -1
  7. package/dist/config/config.js.map +1 -1
  8. package/dist/config/types.d.ts +7 -0
  9. package/dist/config/types.d.ts.map +1 -1
  10. package/dist/database/lifecycle.d.ts +2 -1
  11. package/dist/database/lifecycle.d.ts.map +1 -1
  12. package/dist/database/lifecycle.js +6 -2
  13. package/dist/database/lifecycle.js.map +1 -1
  14. package/dist/decorators/constants.d.ts +2 -0
  15. package/dist/decorators/constants.d.ts.map +1 -1
  16. package/dist/decorators/constants.js +3 -1
  17. package/dist/decorators/constants.js.map +1 -1
  18. package/dist/decorators/core.d.ts +14 -0
  19. package/dist/decorators/core.d.ts.map +1 -1
  20. package/dist/decorators/core.js +156 -41
  21. package/dist/decorators/core.js.map +1 -1
  22. package/dist/decorators/filters.d.ts +2 -10
  23. package/dist/decorators/filters.d.ts.map +1 -1
  24. package/dist/decorators/filters.js.map +1 -1
  25. package/dist/decorators/index.d.ts +1 -0
  26. package/dist/decorators/index.d.ts.map +1 -1
  27. package/dist/decorators/index.js +1 -0
  28. package/dist/decorators/index.js.map +1 -1
  29. package/dist/decorators/lifecycle.d.ts +29 -0
  30. package/dist/decorators/lifecycle.d.ts.map +1 -1
  31. package/dist/decorators/params.d.ts +3 -7
  32. package/dist/decorators/params.d.ts.map +1 -1
  33. package/dist/decorators/params.js.map +1 -1
  34. package/dist/decorators/pipes.d.ts +91 -0
  35. package/dist/decorators/pipes.d.ts.map +1 -0
  36. package/dist/decorators/pipes.js +283 -0
  37. package/dist/decorators/pipes.js.map +1 -0
  38. package/dist/di/container.d.ts +8 -4
  39. package/dist/di/container.d.ts.map +1 -1
  40. package/dist/di/container.js +186 -68
  41. package/dist/di/container.js.map +1 -1
  42. package/dist/di/decorators.d.ts +23 -5
  43. package/dist/di/decorators.d.ts.map +1 -1
  44. package/dist/di/decorators.js +83 -20
  45. package/dist/di/decorators.js.map +1 -1
  46. package/dist/di/forward-ref.d.ts +23 -0
  47. package/dist/di/forward-ref.d.ts.map +1 -0
  48. package/dist/di/forward-ref.js +30 -0
  49. package/dist/di/forward-ref.js.map +1 -0
  50. package/dist/di/index.d.ts +3 -2
  51. package/dist/di/index.d.ts.map +1 -1
  52. package/dist/di/index.js +8 -1
  53. package/dist/di/index.js.map +1 -1
  54. package/dist/docs/BENCHMARKS.md +5 -5
  55. package/dist/docs/content/config.mdx +16 -6
  56. package/dist/docs/content/controllers.mdx +230 -0
  57. package/dist/docs/content/errors.mdx +16 -9
  58. package/dist/docs/content/modules.mdx +23 -4
  59. package/dist/docs/content/providers.mdx +42 -6
  60. package/dist/docs/content/requests.mdx +9 -3
  61. package/dist/docs/content/responses.mdx +19 -5
  62. package/dist/docs/content/security.mdx +48 -35
  63. package/dist/docs/content/structure.mdx +119 -93
  64. package/dist/docs/reference/config.mdx +29 -18
  65. package/dist/docs/reference/decorators.mdx +15 -4
  66. package/dist/docs/reference/di.mdx +23 -16
  67. package/dist/docs/reference/router.mdx +75 -0
  68. package/dist/docs/reference/validator.mdx +2 -2
  69. package/dist/error/errors.d.ts.map +1 -1
  70. package/dist/error/errors.js +12 -0
  71. package/dist/error/errors.js.map +1 -1
  72. package/dist/middleware/security.d.ts +18 -0
  73. package/dist/middleware/security.d.ts.map +1 -1
  74. package/dist/middleware/security.js +32 -0
  75. package/dist/middleware/security.js.map +1 -1
  76. package/dist/router/controller-registrar.d.ts.map +1 -1
  77. package/dist/router/controller-registrar.js +142 -87
  78. package/dist/router/controller-registrar.js.map +1 -1
  79. package/dist/router/index.d.ts.map +1 -1
  80. package/dist/router/index.js.map +1 -1
  81. package/dist/router/radix.d.ts +1 -0
  82. package/dist/router/radix.d.ts.map +1 -1
  83. package/dist/router/radix.js +21 -0
  84. package/dist/router/radix.js.map +1 -1
  85. package/dist/router/route-builder.d.ts +160 -29
  86. package/dist/router/route-builder.d.ts.map +1 -1
  87. package/dist/router/route-builder.js +105 -31
  88. package/dist/router/route-builder.js.map +1 -1
  89. package/dist/router/route-scanner.d.ts +3 -2
  90. package/dist/router/route-scanner.d.ts.map +1 -1
  91. package/dist/router/route-scanner.js.map +1 -1
  92. package/dist/router/router.d.ts.map +1 -1
  93. package/dist/router/router.js +44 -0
  94. package/dist/router/router.js.map +1 -1
  95. package/dist/router/scanner/functional-compiler.d.ts +1 -1
  96. package/dist/router/scanner/functional-compiler.d.ts.map +1 -1
  97. package/dist/router/scanner/functional-compiler.js +403 -64
  98. package/dist/router/scanner/functional-compiler.js.map +1 -1
  99. package/dist/router/types.d.ts +4 -2
  100. package/dist/router/types.d.ts.map +1 -1
  101. package/dist/server/adapters/uws-adapter.d.ts +17 -0
  102. package/dist/server/adapters/uws-adapter.d.ts.map +1 -1
  103. package/dist/server/adapters/uws-adapter.js +101 -7
  104. package/dist/server/adapters/uws-adapter.js.map +1 -1
  105. package/dist/server/app.d.ts +2 -0
  106. package/dist/server/app.d.ts.map +1 -1
  107. package/dist/server/app.js +38 -0
  108. package/dist/server/app.js.map +1 -1
  109. package/dist/server/helpers/etag.d.ts +1 -0
  110. package/dist/server/helpers/etag.d.ts.map +1 -1
  111. package/dist/server/helpers/etag.js +168 -9
  112. package/dist/server/helpers/etag.js.map +1 -1
  113. package/dist/server/helpers/ip.d.ts.map +1 -1
  114. package/dist/server/helpers/ip.js +75 -17
  115. package/dist/server/helpers/ip.js.map +1 -1
  116. package/dist/server/request-handler.d.ts.map +1 -1
  117. package/dist/server/request-handler.js +35 -19
  118. package/dist/server/request-handler.js.map +1 -1
  119. package/dist/server/request.d.ts +4 -3
  120. package/dist/server/request.d.ts.map +1 -1
  121. package/dist/server/request.js +26 -8
  122. package/dist/server/request.js.map +1 -1
  123. package/dist/server/response.d.ts +1 -0
  124. package/dist/server/response.d.ts.map +1 -1
  125. package/dist/server/response.js +48 -22
  126. package/dist/server/response.js.map +1 -1
  127. package/dist/swagger/generator.d.ts.map +1 -1
  128. package/dist/swagger/generator.js +66 -22
  129. package/dist/swagger/generator.js.map +1 -1
  130. package/dist/testing/client.d.ts +15 -11
  131. package/dist/testing/client.d.ts.map +1 -1
  132. package/dist/testing/client.js +32 -11
  133. package/dist/testing/client.js.map +1 -1
  134. package/dist/utils/logger.d.ts.map +1 -1
  135. package/dist/utils/logger.js +2 -0
  136. package/dist/utils/logger.js.map +1 -1
  137. package/dist/validator/engine.d.ts.map +1 -1
  138. package/dist/validator/engine.js +45 -0
  139. package/dist/validator/engine.js.map +1 -1
  140. package/package.json +1 -1
@@ -1,25 +1,184 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateETag = generateETag;
4
+ exports.safeSanitize = safeSanitize;
4
5
  exports.nativeStringify = nativeStringify;
5
6
  const rs_1 = require("@exisjs/rs");
6
7
  function generateETag(content) {
7
8
  return (0, rs_1.generateEtag)(content);
8
9
  }
10
+ function safeSanitize(val, ancestors = new Set(), path = '') {
11
+ if (val === null || val === undefined)
12
+ return val;
13
+ if (typeof val === 'bigint')
14
+ return val.toString();
15
+ if (typeof val === 'symbol')
16
+ return val.toString();
17
+ if (typeof val === 'function')
18
+ return undefined;
19
+ if (typeof val !== 'object')
20
+ return val;
21
+ if (ancestors.has(val)) {
22
+ return '[Circular]';
23
+ }
24
+ ancestors.add(val);
25
+ try {
26
+ if (val instanceof Error) {
27
+ return {
28
+ name: val.name,
29
+ message: val.message,
30
+ stack: val.stack,
31
+ ...val,
32
+ };
33
+ }
34
+ if (val instanceof Map) {
35
+ const obj = {};
36
+ for (const [k, v] of val.entries()) {
37
+ try {
38
+ obj[String(k)] = safeSanitize(v, ancestors, path ? `${path}.${k}` : String(k));
39
+ }
40
+ catch {
41
+ obj[String(k)] = null;
42
+ }
43
+ }
44
+ return obj;
45
+ }
46
+ if (val instanceof Set) {
47
+ return Array.from(val).map((item, idx) => safeSanitize(item, ancestors, `${path}[${idx}]`));
48
+ }
49
+ if (val._bsontype === 'ObjectID' ||
50
+ val._bsontype === 'ObjectId' ||
51
+ val.constructor?.name === 'ObjectId' ||
52
+ val.constructor?.name === 'ObjectID' ||
53
+ val._bsontype === 'Decimal128' ||
54
+ val._bsontype === 'Long' ||
55
+ val.constructor?.name === 'Decimal128' ||
56
+ val.constructor?.name === 'Long') {
57
+ return val.toString();
58
+ }
59
+ if (val._bsontype === 'Binary' || val.constructor?.name === 'Binary') {
60
+ return typeof val.toString === 'function' ? val.toString('base64') : val;
61
+ }
62
+ if (val.constructor?.name === 'Decimal' &&
63
+ typeof val.toFixed === 'function') {
64
+ return val.toString();
65
+ }
66
+ if (typeof val.toObject === 'function') {
67
+ try {
68
+ return safeSanitize(val.toObject({ virtuals: true, getters: true }), ancestors, path);
69
+ }
70
+ catch {
71
+ // fallback
72
+ }
73
+ }
74
+ if (typeof val.toJSON === 'function' && !(val instanceof Date)) {
75
+ try {
76
+ return safeSanitize(val.toJSON(), ancestors, path);
77
+ }
78
+ catch {
79
+ // fallback
80
+ }
81
+ }
82
+ if (val instanceof Date) {
83
+ return isNaN(val.getTime()) ? null : val.toISOString();
84
+ }
85
+ if (Buffer.isBuffer(val)) {
86
+ return val.toString('utf8');
87
+ }
88
+ if (Array.isArray(val)) {
89
+ return val.map((item, idx) => safeSanitize(item, ancestors, `${path}[${idx}]`));
90
+ }
91
+ const result = {};
92
+ const keys = Object.keys(val);
93
+ for (const key of keys) {
94
+ if (key.startsWith('$__') ||
95
+ key === '$isNew' ||
96
+ key === '$init' ||
97
+ key === '$errors') {
98
+ continue;
99
+ }
100
+ try {
101
+ const propPath = path ? `${path}.${key}` : key;
102
+ const sanitizedChild = safeSanitize(val[key], ancestors, propPath);
103
+ if (sanitizedChild !== undefined) {
104
+ result[key] = sanitizedChild;
105
+ }
106
+ }
107
+ catch {
108
+ // Omit throwing getters
109
+ }
110
+ }
111
+ return result;
112
+ }
113
+ finally {
114
+ ancestors.delete(val);
115
+ }
116
+ }
117
+ function isFastSerializable(val) {
118
+ if (val === null || val === undefined)
119
+ return true;
120
+ const type = typeof val;
121
+ if (type === 'string' || type === 'number' || type === 'boolean')
122
+ return true;
123
+ if (type !== 'object')
124
+ return false;
125
+ if (val.constructor === Object) {
126
+ for (const k in val) {
127
+ const v = val[k];
128
+ if (v !== null && typeof v === 'object') {
129
+ if (v.constructor !== Object && v.constructor !== Array)
130
+ return false;
131
+ }
132
+ else if (typeof v === 'bigint' ||
133
+ typeof v === 'function' ||
134
+ typeof v === 'symbol') {
135
+ return false;
136
+ }
137
+ }
138
+ return true;
139
+ }
140
+ if (Array.isArray(val)) {
141
+ for (const v of val) {
142
+ if (v !== null && typeof v === 'object') {
143
+ if (v.constructor !== Object && v.constructor !== Array)
144
+ return false;
145
+ }
146
+ else if (typeof v === 'bigint' ||
147
+ typeof v === 'function' ||
148
+ typeof v === 'symbol') {
149
+ return false;
150
+ }
151
+ }
152
+ return true;
153
+ }
154
+ return false;
155
+ }
9
156
  function nativeStringify(data) {
10
157
  if (data === null || data === undefined) {
11
158
  return 'null';
12
159
  }
13
- // If native rust serialization is available, use it
14
- if (typeof rs_1.fastJsonStringifyBuffer === 'function') {
15
- // Validate object can be serialized without throwing V8 check failure on circularity
16
- const str = JSON.stringify(data);
17
- if (str.length > 512) {
18
- // For larger payloads, Rust serde serialization into Buffer gives zero V8 GC overhead
19
- return (0, rs_1.fastJsonStringifyBuffer)(data);
160
+ // Fast path for primitives
161
+ const type = typeof data;
162
+ if (type === 'string')
163
+ return JSON.stringify(data);
164
+ if (type === 'number' || type === 'boolean')
165
+ return String(data);
166
+ if (type === 'bigint')
167
+ return `"${data.toString()}"`;
168
+ if (isFastSerializable(data)) {
169
+ try {
170
+ return JSON.stringify(data);
20
171
  }
21
- return str;
172
+ catch {
173
+ // fallback on circular refs
174
+ }
175
+ }
176
+ try {
177
+ const sanitized = safeSanitize(data);
178
+ return JSON.stringify(sanitized);
179
+ }
180
+ catch {
181
+ return String(data);
22
182
  }
23
- return JSON.stringify(data);
24
183
  }
25
184
  //# sourceMappingURL=etag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"etag.js","sourceRoot":"","sources":["../../../src/server/helpers/etag.ts"],"names":[],"mappings":";;AAEA,oCAEC;AAED,0CAeC;AArBD,mCAAkE;AAElE,SAAgB,YAAY,CAAC,OAAe;IAC1C,OAAO,IAAA,iBAAY,EAAC,OAAO,CAAC,CAAA;AAC9B,CAAC;AAED,SAAgB,eAAe,CAAC,IAAa;IAC3C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,MAAM,CAAA;IACf,CAAC;IACD,oDAAoD;IACpD,IAAI,OAAO,4BAAuB,KAAK,UAAU,EAAE,CAAC;QAClD,qFAAqF;QACrF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACrB,sFAAsF;YACtF,OAAO,IAAA,4BAAuB,EAAC,IAAI,CAAC,CAAA;QACtC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"etag.js","sourceRoot":"","sources":["../../../src/server/helpers/etag.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../../src/server/helpers/ip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAEhD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,OAAO,GAAG,MAAM,GAC3B;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAuB/B;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,OAAO,GAAG,MAAM,GAC3B,MAAM,CAeR;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,OAAO,GAAG,MAAM,GAC3B,MAAM,CAWR"}
1
+ {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../../src/server/helpers/ip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAEhD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAED,wBAAgB,UAAU,CACxB,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,OAAO,GAAG,MAAM,GAC3B;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAoE/B;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,OAAO,GAAG,MAAM,GAC3B,MAAM,CAgCR;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,eAAe,EACpB,UAAU,EAAE,OAAO,GAAG,MAAM,GAC3B,MAAM,CAgBR"}
@@ -14,6 +14,50 @@ function normalizeIp(ip) {
14
14
  return ip;
15
15
  }
16
16
  function resolveIps(raw, trustProxy) {
17
+ const isTrusted = Boolean(trustProxy) ||
18
+ process.env.TRUST_PROXY === 'true' ||
19
+ process.env.EXIS_TRUST_PROXY === 'true';
20
+ const rawRemote = raw.socket?.remoteAddress ?? '127.0.0.1';
21
+ const remoteAddress = normalizeIp(rawRemote);
22
+ if (!isTrusted) {
23
+ return { ips: [], ip: remoteAddress };
24
+ }
25
+ // 1. Direct Edge & CDN client IP headers
26
+ const cfConnectingIp = raw.headers['cf-connecting-ip'];
27
+ if (cfConnectingIp) {
28
+ const rawVal = Array.isArray(cfConnectingIp)
29
+ ? cfConnectingIp[0]
30
+ : cfConnectingIp;
31
+ if (typeof rawVal === 'string' && rawVal.trim() !== '') {
32
+ const ip = normalizeIp(rawVal.trim());
33
+ return { ips: [ip], ip };
34
+ }
35
+ }
36
+ const trueClientIp = raw.headers['true-client-ip'];
37
+ if (trueClientIp) {
38
+ const rawVal = Array.isArray(trueClientIp) ? trueClientIp[0] : trueClientIp;
39
+ if (typeof rawVal === 'string' && rawVal.trim() !== '') {
40
+ const ip = normalizeIp(rawVal.trim());
41
+ return { ips: [ip], ip };
42
+ }
43
+ }
44
+ const xRealIp = raw.headers['x-real-ip'];
45
+ if (xRealIp) {
46
+ const rawVal = Array.isArray(xRealIp) ? xRealIp[0] : xRealIp;
47
+ if (typeof rawVal === 'string' && rawVal.trim() !== '') {
48
+ const ip = normalizeIp(rawVal.trim());
49
+ return { ips: [ip], ip };
50
+ }
51
+ }
52
+ const xClientIp = raw.headers['x-client-ip'];
53
+ if (xClientIp) {
54
+ const rawVal = Array.isArray(xClientIp) ? xClientIp[0] : xClientIp;
55
+ if (typeof rawVal === 'string' && rawVal.trim() !== '') {
56
+ const ip = normalizeIp(rawVal.trim());
57
+ return { ips: [ip], ip };
58
+ }
59
+ }
60
+ // 2. Parse standard X-Forwarded-For proxy chain
17
61
  const xForwardedFor = raw.headers['x-forwarded-for'];
18
62
  let ips = [];
19
63
  if (xForwardedFor) {
@@ -22,34 +66,48 @@ function resolveIps(raw, trustProxy) {
22
66
  : xForwardedFor;
23
67
  ips = rawVal.split(',').map((item) => normalizeIp(item.trim()));
24
68
  }
25
- const rawRemote = raw.socket?.remoteAddress ?? '127.0.0.1';
26
- const remoteAddress = normalizeIp(rawRemote);
27
- if (trustProxy) {
28
- let trustedIps = ips;
29
- if (typeof trustProxy === 'number' && trustProxy > 0) {
30
- trustedIps = ips.slice(-(trustProxy + 1));
31
- }
32
- const ip = trustedIps.length > 0 ? trustedIps[0] : remoteAddress;
33
- return { ips: trustedIps, ip };
69
+ let trustedIps = ips;
70
+ if (typeof trustProxy === 'number' && trustProxy > 0) {
71
+ trustedIps = ips.slice(-(trustProxy + 1));
34
72
  }
35
- return { ips: [], ip: remoteAddress };
73
+ const ip = trustedIps.length > 0 ? trustedIps[0] : remoteAddress;
74
+ return { ips: trustedIps, ip };
36
75
  }
37
76
  function resolveProtocol(raw, trustProxy) {
77
+ const isTrusted = Boolean(trustProxy) ||
78
+ process.env.TRUST_PROXY === 'true' ||
79
+ process.env.EXIS_TRUST_PROXY === 'true';
38
80
  const connection = raw.socket;
39
81
  const isTls = connection?.encrypted || false;
40
82
  let protocol = isTls ? 'https' : 'http';
41
- const xForwardedProto = raw.headers['x-forwarded-proto'];
42
- if (trustProxy && xForwardedProto) {
43
- const rawProto = Array.isArray(xForwardedProto)
44
- ? xForwardedProto.join(',')
45
- : xForwardedProto;
46
- protocol = rawProto.split(',')[0].trim();
83
+ if (isTrusted) {
84
+ const cfVisitor = raw.headers['cf-visitor'];
85
+ if (typeof cfVisitor === 'string') {
86
+ try {
87
+ const parsed = JSON.parse(cfVisitor);
88
+ if (parsed.scheme)
89
+ return parsed.scheme;
90
+ }
91
+ catch {
92
+ // ignore
93
+ }
94
+ }
95
+ const xForwardedProto = raw.headers['x-forwarded-proto'];
96
+ if (xForwardedProto) {
97
+ const rawProto = Array.isArray(xForwardedProto)
98
+ ? xForwardedProto.join(',')
99
+ : xForwardedProto;
100
+ protocol = rawProto.split(',')[0].trim();
101
+ }
47
102
  }
48
103
  return protocol;
49
104
  }
50
105
  function resolveHostname(raw, trustProxy) {
106
+ const isTrusted = Boolean(trustProxy) ||
107
+ process.env.TRUST_PROXY === 'true' ||
108
+ process.env.EXIS_TRUST_PROXY === 'true';
51
109
  let host = raw.headers['x-forwarded-host'];
52
- if (!host || !trustProxy) {
110
+ if (!host || !isTrusted) {
53
111
  host = raw.headers.host || '';
54
112
  }
55
113
  if (Array.isArray(host))
@@ -1 +1 @@
1
- {"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../src/server/helpers/ip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ip.js","sourceRoot":"","sources":["../../../src/server/helpers/ip.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../src/server/request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC,qBAAa,cAAc;IAWb,OAAO,CAAC,GAAG;IAVvB,OAAO,CAAC,iBAAiB,CAAC,CAAW;IACrC,OAAc,cAAc,SAAI;IAKhC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAO;gBAExB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAEjC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IAOZ,mBAAmB,IAAI,OAAO,EAAE;IAW1B,MAAM,CAAC,OAAO,EAAE;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,EAAE,GAAG,CAAA;QACV,OAAO,CAAC,EAAE,GAAG,CAAA;KACd,GAAG,OAAO,CAAC,OAAO,mBAAmB,EAAE,YAAY,CAAC;IAwF9C,mBAAmB,CACxB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,IAAI,GACpB,IAAI;IA6BA,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;YAsDtD,gBAAgB;YAuChB,iBAAiB;CAuChC"}
1
+ {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../src/server/request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAMvC,qBAAa,cAAc;IAWb,OAAO,CAAC,GAAG;IAVvB,OAAO,CAAC,iBAAiB,CAAC,CAAW;IACrC,OAAc,cAAc,SAAI;IAKhC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAO;gBAExB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAEjC,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IAOZ,mBAAmB,IAAI,OAAO,EAAE;IAoB1B,MAAM,CAAC,OAAO,EAAE;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,EAAE,GAAG,CAAA;QACV,OAAO,CAAC,EAAE,GAAG,CAAA;KACd,GAAG,OAAO,CAAC,OAAO,mBAAmB,EAAE,YAAY,CAAC;IAwF9C,mBAAmB,CACxB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,IAAI,GACpB,IAAI;IA6BA,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;YA2DtD,gBAAgB;YAuChB,iBAAiB;CAuChC"}
@@ -43,6 +43,9 @@ const response_1 = require("./response");
43
43
  const context_1 = require("./context");
44
44
  const router_1 = require("../router/router");
45
45
  const middleware_1 = require("../middleware/middleware");
46
+ const noop = () => {
47
+ // no-op callback
48
+ };
46
49
  class RequestHandler {
47
50
  constructor(app) {
48
51
  this.app = app;
@@ -82,11 +85,20 @@ class RequestHandler {
82
85
  if (this._compiledPipeline)
83
86
  return this._compiledPipeline;
84
87
  this.app.applyBuiltins();
85
- this._compiledPipeline = [
86
- ...this.app.globalMiddleware,
87
- (req, res, next) => this.app.getRouter().handle(req, res, next),
88
- middleware_1.notFound,
89
- ];
88
+ if (this.app.globalMiddleware.length === 0) {
89
+ this._compiledPipeline = [
90
+ (req, res) => this.app.getRouter().handle(req, res, () => {
91
+ (0, middleware_1.notFound)(req, res, noop);
92
+ }),
93
+ ];
94
+ }
95
+ else {
96
+ this._compiledPipeline = [
97
+ ...this.app.globalMiddleware,
98
+ (req, res, next) => this.app.getRouter().handle(req, res, next),
99
+ middleware_1.notFound,
100
+ ];
101
+ }
90
102
  return this._compiledPipeline;
91
103
  }
92
104
  async inject(options) {
@@ -197,31 +209,35 @@ class RequestHandler {
197
209
  }
198
210
  handle(rawReq, rawRes) {
199
211
  RequestHandler.activeRequests++;
200
- let decremented = false;
201
- const decrementActive = () => {
202
- if (!decremented) {
203
- decremented = true;
204
- if (RequestHandler.activeRequests > 0) {
205
- RequestHandler.activeRequests--;
206
- }
207
- }
208
- };
209
212
  const res = this._acquireRes(rawRes);
210
213
  const req = this._acquireReq(rawReq, res, this.app.options.trustProxy, this.app.options.bodyLimit);
211
214
  res.req = req;
212
215
  res.etagEnabled = this.app.options.etag === true;
213
216
  req.log = this.app.log;
214
217
  // Recycle objects back to pool and decrement active request counter when the response is fully done
215
- rawRes.on('close', () => {
216
- decrementActive();
218
+ let isDone = false;
219
+ const onDone = () => {
220
+ if (isDone)
221
+ return;
222
+ isDone = true;
223
+ if (RequestHandler.activeRequests > 0) {
224
+ RequestHandler.activeRequests--;
225
+ }
217
226
  this._releaseReq(req);
218
227
  this._releaseRes(res);
219
- });
220
- rawRes.on('finish', decrementActive);
228
+ };
229
+ res._onDone = onDone;
230
+ if (typeof rawRes.once === 'function') {
231
+ rawRes.once('close', onDone);
232
+ }
233
+ else if (typeof rawRes.on === 'function') {
234
+ rawRes.on('close', onDone);
235
+ }
236
+ const pipeline = this._compiledPipeline || this.getCompiledPipeline();
221
237
  this._executeWithContext(req, res, () => {
222
238
  if (this.app.hooks.request.length === 0 &&
223
239
  this.app.hooks.response.length === 0) {
224
- (0, router_1.runHandlers)(this.getCompiledPipeline(), req, res, (err) => {
240
+ (0, router_1.runHandlers)(pipeline, req, res, (err) => {
225
241
  if (err) {
226
242
  this._runErrorHandlers(err, req, res).catch((e) => {
227
243
  this.app.log.error({ err: e, originalError: err }, 'Error in error handler');
@@ -1 +1 @@
1
- {"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../src/server/request-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../src/server/request-handler.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,10 @@ export declare class ExisRequest<TBody = unknown, TQuery = Record<string, string
18
18
  session?: Record<string, any> | any;
19
19
  requestId?: string;
20
20
  tenantId?: string;
21
- signal: AbortSignal;
22
- private _abortController;
21
+ private _signal?;
22
+ private _abortController?;
23
+ get signal(): AbortSignal;
24
+ set signal(val: AbortSignal);
23
25
  _diCache: Map<any, any>;
24
26
  private _urlStr;
25
27
  private _qIdx;
@@ -32,7 +34,6 @@ export declare class ExisRequest<TBody = unknown, TQuery = Record<string, string
32
34
  private _hostname?;
33
35
  private _method?;
34
36
  private _onClose;
35
- private _attachSignal;
36
37
  cleanup(): void;
37
38
  constructor(raw: IncomingMessage, res: ExisResponse, trustProxy?: boolean | number, bodyLimit?: number);
38
39
  init(raw: IncomingMessage, res: ExisResponse, trustProxy?: boolean | number, bodyLimit?: number): this;
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"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"}
@@ -17,13 +17,33 @@ class ExisRequest {
17
17
  set file(val) {
18
18
  this._file = val;
19
19
  }
20
- _attachSignal() {
21
- this._abortController = new AbortController();
22
- this.signal = this._abortController.signal;
23
- this.raw.once('close', this._onClose);
20
+ get signal() {
21
+ if (!this._abortController) {
22
+ this._abortController = new AbortController();
23
+ this._signal = this._abortController.signal;
24
+ if (typeof this.raw?.once === 'function') {
25
+ this.raw.once('close', this._onClose);
26
+ }
27
+ else if (typeof this.raw?.on === 'function') {
28
+ this.raw.on('close', this._onClose);
29
+ }
30
+ }
31
+ return this._signal;
32
+ }
33
+ set signal(val) {
34
+ this._signal = val;
24
35
  }
25
36
  cleanup() {
26
- this.raw.removeListener('close', this._onClose);
37
+ if (this._abortController) {
38
+ if (typeof this.raw?.removeListener === 'function') {
39
+ this.raw.removeListener('close', this._onClose);
40
+ }
41
+ else if (typeof this.raw?.off === 'function') {
42
+ this.raw.off('close', this._onClose);
43
+ }
44
+ this._abortController = undefined;
45
+ this._signal = undefined;
46
+ }
27
47
  this._diCache.clear();
28
48
  this.user = undefined;
29
49
  this.session = undefined;
@@ -53,14 +73,13 @@ class ExisRequest {
53
73
  this._diCache = new Map();
54
74
  this._onClose = () => {
55
75
  if (!this.res.raw.writableEnded && !this.res.headersSent) {
56
- if (!this._abortController.signal.aborted) {
76
+ if (this._abortController && !this._abortController.signal.aborted) {
57
77
  this._abortController.abort();
58
78
  }
59
79
  }
60
80
  };
61
81
  this._urlStr = raw.url ?? '/';
62
82
  this._qIdx = this._urlStr.indexOf('?');
63
- this._attachSignal();
64
83
  }
65
84
  init(raw, res, trustProxy = false, bodyLimit = 10485760 // 10MB
66
85
  ) {
@@ -69,7 +88,6 @@ class ExisRequest {
69
88
  this.res = res;
70
89
  this.trustProxy = trustProxy;
71
90
  this.bodyLimit = bodyLimit;
72
- this._attachSignal();
73
91
  this.params = undefined;
74
92
  this.body = undefined;
75
93
  this.files = [];