arikajs 0.10.7 → 0.10.9

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 (31) hide show
  1. package/dist/Application.d.ts +4 -0
  2. package/dist/Application.d.ts.map +1 -1
  3. package/dist/Application.js +43 -20
  4. package/dist/Application.js.map +1 -1
  5. package/dist/helpers.d.ts.map +1 -1
  6. package/dist/helpers.js +25 -10
  7. package/dist/helpers.js.map +1 -1
  8. package/dist/http/Actions/ActionDispatcher.d.ts +14 -0
  9. package/dist/http/Actions/ActionDispatcher.d.ts.map +1 -0
  10. package/dist/http/Actions/ActionDispatcher.js +124 -0
  11. package/dist/http/Actions/ActionDispatcher.js.map +1 -0
  12. package/dist/http/Actions/ResolveServerAction.d.ts +14 -0
  13. package/dist/http/Actions/ResolveServerAction.d.ts.map +1 -0
  14. package/dist/http/Actions/ResolveServerAction.js +34 -0
  15. package/dist/http/Actions/ResolveServerAction.js.map +1 -0
  16. package/dist/http/Handler.d.ts.map +1 -1
  17. package/dist/http/Handler.js +28 -40
  18. package/dist/http/Handler.js.map +1 -1
  19. package/dist/http/Kernel.d.ts +18 -2
  20. package/dist/http/Kernel.d.ts.map +1 -1
  21. package/dist/http/Kernel.js +102 -10
  22. package/dist/http/Kernel.js.map +1 -1
  23. package/dist/http/Middleware/RequestLoggingMiddleware.d.ts +2 -1
  24. package/dist/http/Middleware/RequestLoggingMiddleware.d.ts.map +1 -1
  25. package/dist/http/Middleware/RequestLoggingMiddleware.js +17 -6
  26. package/dist/http/Middleware/RequestLoggingMiddleware.js.map +1 -1
  27. package/dist/providers/ViewServiceProvider.d.ts +2 -4
  28. package/dist/providers/ViewServiceProvider.d.ts.map +1 -1
  29. package/dist/providers/ViewServiceProvider.js +14 -5
  30. package/dist/providers/ViewServiceProvider.js.map +1 -1
  31. package/package.json +25 -25
@@ -38,6 +38,10 @@ export declare class Application extends FoundationApplication implements Applic
38
38
  * Get the HTTP server callback for raw http.createServer() usage.
39
39
  */
40
40
  getCallback(): (req: any, res: any) => void;
41
+ /**
42
+ * Handle fatal errors that occur outside the Kernel's management.
43
+ */
44
+ private handleFatalError;
41
45
  /**
42
46
  * Gracefully terminate the application.
43
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAS,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG7E,qBAAa,WAAY,SAAQ,qBAAsB,YAAW,mBAAmB;IACjF,WAAkB,OAAO,IAAI,MAAM,CAYlC;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IACzC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,CAAM;gBAEpB,QAAQ,GAAE,MAAsB;IAc/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,OAAO,IAAI,MAAM;IAIxB;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIrC;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAItC;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIvC;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIjC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIlC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI1D;;OAEG;IACU,MAAM,CAAC,IAAI,GAAE,MAAa;IA4BvC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;IAgBpC;;OAEG;IACI,WAAW,KAmBN,KAAK,GAAG,EAAE,KAAK,GAAG;IAwB9B;;OAEG;IACU,SAAS;IAuDtB;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;IAIvC;;OAEG;IACI,WAAW,IAAI,GAAG,EAAE;IAI3B;;OAEG;IACI,SAAS,IAAI,MAAM;CAG7B"}
1
+ {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAS,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG7E,qBAAa,WAAY,SAAQ,qBAAsB,YAAW,mBAAmB;IACjF,WAAkB,OAAO,IAAI,MAAM,CAYlC;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IACzC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,CAAM;gBAEpB,QAAQ,GAAE,MAAsB;IAc/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,OAAO,IAAI,MAAM;IAIxB;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIrC;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAItC;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIvC;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIjC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIlC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAI1D;;OAEG;IACU,MAAM,CAAC,IAAI,GAAE,MAAa;IA4BvC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM;IAgBpC;;OAEG;IACI,WAAW,KAcN,KAAK,GAAG,EAAE,KAAK,GAAG;IA+B9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACU,SAAS;IAuDtB;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;IAIvC;;OAEG;IACI,WAAW,IAAI,GAAG,EAAE;IAI3B;;OAEG;IACI,SAAS,IAAI,MAAM;CAG7B"}
@@ -159,32 +159,55 @@ class Application extends foundation_1.Application {
159
159
  const kernel = this.make(Kernel);
160
160
  const { ObjectPool } = require('@arikajs/foundation');
161
161
  const { Request: ArikaRequest, Response: ArikaResponse, RawResponse } = require('@arikajs/http');
162
- const requestPool = new ObjectPool(() => new ArikaRequest(this, null), (obj) => obj.reset(null));
163
- const responsePool = new ObjectPool(() => new ArikaResponse(null), (obj) => obj.reset(null));
162
+ const { Handler } = require('./http/Handler');
163
+ let handler;
164
+ try {
165
+ handler = this.make(Handler);
166
+ }
167
+ catch (e) {
168
+ handler = new Handler();
169
+ }
164
170
  return (req, res) => {
165
- const request = requestPool.acquire();
166
- const response = responsePool.acquire();
167
- request.reset(req);
168
- response.reset(res);
169
- const handleRequest = async () => {
170
- try {
171
- const finalResponse = await kernel.handle(request, response);
171
+ const request = new ArikaRequest(this, req);
172
+ const response = new ArikaResponse(res);
173
+ const handleError = (error) => {
174
+ handler.report(error);
175
+ Promise.resolve(handler.render(request, error, response))
176
+ .then((finalResponse) => {
172
177
  kernel.terminate(request, finalResponse);
178
+ })
179
+ .catch((renderError) => {
180
+ this.handleFatalError(res, renderError);
181
+ });
182
+ };
183
+ try {
184
+ const result = kernel.handle(request, response);
185
+ if (result instanceof Promise) {
186
+ result.then((finalResponse) => {
187
+ kernel.terminate(request, finalResponse);
188
+ }).catch(handleError);
173
189
  }
174
- catch (error) {
175
- if (!res.headersSent) {
176
- res.writeHead(500, { 'Content-Type': 'application/json' });
177
- res.end(JSON.stringify({ error: 'Internal Server Error', message: error.message }));
178
- }
179
- }
180
- finally {
181
- requestPool.release(request);
182
- responsePool.release(response);
190
+ else {
191
+ kernel.terminate(request, result);
183
192
  }
184
- };
185
- handleRequest();
193
+ }
194
+ catch (error) {
195
+ handleError(error);
196
+ }
186
197
  };
187
198
  }
199
+ /**
200
+ * Handle fatal errors that occur outside the Kernel's management.
201
+ */
202
+ handleFatalError(res, error) {
203
+ if (!res.headersSent) {
204
+ res.writeHead(500, { 'Content-Type': 'application/json' });
205
+ res.end(JSON.stringify({
206
+ error: 'Internal Server Error',
207
+ message: error.message || 'An unexpected error occurred'
208
+ }));
209
+ }
210
+ }
188
211
  /**
189
212
  * Gracefully terminate the application.
190
213
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../src/Application.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,QAEtC;AAED,wBAAgB,GAAG,IAAI,WAAW,CAKjC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,GAAE,CAAe,GAAG,CAAC,CAI9E;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,QAEtD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,QAEvD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,QAEzD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,QAEvD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,GAAQ,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAEzG;AAGD,eAAO,MAAM,KAAK,aAAO,CAAC;AAC1B,eAAO,MAAM,EAAE,aAAO,CAAC;AAEvB;;GAEG;AACH,wBAAgB,OAAO,IAAI,GAAG,CAE7B;AAED;;GAEG;AACH,wBAAgB,IAAI,IAAI,GAAG,CAM1B;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAe1E;yBAfqB,IAAI;2BAgCD,MAAM,SAAQ,GAAG;qBAIvB,MAAM,SAAS,GAAG;6BAIV,MAAM,YAAY,GAAG;;AAvBhD;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAEtC;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,SAAU,GAAG,MAAM,CAEzD"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,QAEtC;AAED,wBAAgB,GAAG,IAAI,WAAW,CAKjC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,GAAE,CAAe,GAAG,CAAC,CAI9E;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,QAEtD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,QAEvD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,QAEzD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,QAEvD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,GAAQ,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAEzG;AAGD,eAAO,MAAM,KAAK,aAAO,CAAC;AAC1B,eAAO,MAAM,EAAE,aAAO,CAAC;AAEvB;;GAEG;AACH,wBAAgB,OAAO,IAAI,GAAG,CAE7B;AAED;;GAEG;AACH,wBAAgB,IAAI,IAAI,GAAG,CAM1B;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CA+B1E;yBA/BqB,IAAI;2BAgDD,MAAM,SAAQ,GAAG;qBAIvB,MAAM,SAAS,GAAG;6BAIV,MAAM,YAAY,GAAG;;AAvBhD;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAEtC;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,SAAU,GAAG,MAAM,CAEzD"}
package/dist/helpers.js CHANGED
@@ -108,18 +108,33 @@ function auth() {
108
108
  */
109
109
  async function view(template, data = {}) {
110
110
  const req = request();
111
- // 1. If we are in a request context and req.view.render exists, use it!
112
- // This is the preferred way as it handles session errors, CSRF, etc. correctly
113
- if (req && req.view && typeof req.view.render === 'function') {
111
+ // Capture synchronous stack trace so that framework errors show the exact application file calling view()
112
+ const callStack = new Error().stack || '';
113
+ const enrichError = (err) => {
114
+ if (err && err.stack) {
115
+ // Keep the original error type but append the caller application stack trace
116
+ const framesToKeep = callStack.split('\n').slice(2); // Remove Error and view() frame
117
+ err.stack = err.stack + '\n' + framesToKeep.join('\n');
118
+ }
119
+ return err;
120
+ };
121
+ try {
122
+ // 1. If we are in a request context and req.view.render exists, use it!
123
+ // This is the preferred way as it handles session errors, CSRF, etc. correctly
124
+ if (req && req.view && typeof req.view.render === 'function') {
125
+ if (template === undefined)
126
+ return req.view;
127
+ return await req.view.render(template, data);
128
+ }
129
+ // 2. Fallback to global view engine
130
+ const engine = app().make('view');
114
131
  if (template === undefined)
115
- return req.view;
116
- return await req.view.render(template, data);
132
+ return engine;
133
+ return await engine.render(template, data);
134
+ }
135
+ catch (err) {
136
+ throw enrichError(err);
117
137
  }
118
- // 2. Fallback to global view engine
119
- const engine = app().make('view');
120
- if (template === undefined)
121
- return engine;
122
- return await engine.render(template, data);
123
138
  }
124
139
  /**
125
140
  * Create a new Carbon instance for date manipulation.
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Application } from '../../Contracts/Application';
2
+ import { Request, Response } from '@arikajs/http';
3
+ export declare class ActionDispatcher {
4
+ private app;
5
+ private invoker;
6
+ constructor(app: Application);
7
+ /**
8
+ * Dispatch the server action.
9
+ */
10
+ dispatch(request: Request, response: Response): Promise<Response | null>;
11
+ private verifySignature;
12
+ private resolveController;
13
+ }
14
+ //# sourceMappingURL=ActionDispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionDispatcher.d.ts","sourceRoot":"","sources":["../../../src/http/Actions/ActionDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAC;AAKjE,qBAAa,gBAAgB;IAGb,OAAO,CAAC,GAAG;IAFvB,OAAO,CAAC,OAAO,CAAgB;gBAEX,GAAG,EAAE,WAAW;IAIpC;;OAEG;IACU,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA8CrF,OAAO,CAAC,eAAe;YAeT,iBAAiB;CAuBlC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ActionDispatcher = void 0;
37
+ const http_1 = require("@arikajs/http");
38
+ const dispatcher_1 = require("@arikajs/dispatcher");
39
+ const crypto = __importStar(require("node:crypto"));
40
+ const path = __importStar(require("node:path"));
41
+ class ActionDispatcher {
42
+ constructor(app) {
43
+ this.app = app;
44
+ this.invoker = new dispatcher_1.MethodInvoker(this.app.getContainer());
45
+ }
46
+ /**
47
+ * Dispatch the server action.
48
+ */
49
+ async dispatch(request, response) {
50
+ const action = request.input('_action');
51
+ const sign = request.input('_action_sign');
52
+ if (!action)
53
+ return null;
54
+ // 1. Verify Signature (Security)
55
+ if (!this.verifySignature(action, sign)) {
56
+ throw new http_1.HttpException(403, 'Invalid or missing action signature.');
57
+ }
58
+ // 2. Resolve Controller & Method
59
+ const [controllerName, methodName] = action.split('@');
60
+ if (!methodName) {
61
+ throw new http_1.HttpException(400, 'Invalid action format. Expected Controller@method.');
62
+ }
63
+ // 3. Resolve Controller Class
64
+ const controllerClass = await this.resolveController(controllerName);
65
+ const controller = this.app.make(controllerClass);
66
+ // 4. Execute using MethodInvoker (Handles DI and FormRequests)
67
+ try {
68
+ const result = await this.invoker.invoke({ controller, method: methodName }, request, response, {});
69
+ // 5. Wrap result in JSON if it's not already a response
70
+ const dispatcher = this.app.make('dispatcher');
71
+ return dispatcher.responseResolver.resolve(result, response);
72
+ }
73
+ catch (e) {
74
+ // Handle Validation Errors specifically for AJAX Actions
75
+ if (e.status === 422) {
76
+ return response.status(422).json({
77
+ error: true,
78
+ message: e.message || 'Validation failed',
79
+ errors: e.errors || {}
80
+ });
81
+ }
82
+ throw e;
83
+ }
84
+ }
85
+ verifySignature(action, sign) {
86
+ const key = this.app.config().get('app.key');
87
+ if (!key)
88
+ return false;
89
+ const expected = crypto.createHmac('sha256', key)
90
+ .update(action)
91
+ .digest('hex');
92
+ try {
93
+ return crypto.timingSafeEqual(Buffer.from(sign), Buffer.from(expected));
94
+ }
95
+ catch {
96
+ return false;
97
+ }
98
+ }
99
+ async resolveController(name) {
100
+ // 1. Check container first
101
+ if (this.app.has(name)) {
102
+ return this.app.make(name);
103
+ }
104
+ // 2. Attempt to dynamic load from app/Http/Controllers
105
+ const root = this.app.getBasePath();
106
+ const controllerPath = path.join(root, 'app', 'Http', 'Controllers', `${name}.ts`);
107
+ const controllerPathJs = controllerPath.replace(/\.ts$/, '.js');
108
+ try {
109
+ const module = await Promise.resolve(`${controllerPath}`).then(s => __importStar(require(s)));
110
+ return module[name] || module.default || Object.values(module)[0];
111
+ }
112
+ catch (e) {
113
+ try {
114
+ const module = await Promise.resolve(`${controllerPathJs}`).then(s => __importStar(require(s)));
115
+ return module[name] || module.default || Object.values(module)[0];
116
+ }
117
+ catch (e2) {
118
+ throw new http_1.HttpException(500, `Controller [${name}] could not be resolved.`);
119
+ }
120
+ }
121
+ }
122
+ }
123
+ exports.ActionDispatcher = ActionDispatcher;
124
+ //# sourceMappingURL=ActionDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionDispatcher.js","sourceRoot":"","sources":["../../../src/http/Actions/ActionDispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Request, Response } from '@arikajs/http';
2
+ import { Application } from '../../Contracts/Application';
3
+ /**
4
+ * ResolveServerAction Middleware
5
+ *
6
+ * Intercepts requests that contain the '_action' field and dispatches them
7
+ * to the appropriate controller method, bypassing traditional routing.
8
+ */
9
+ export declare class ResolveServerAction {
10
+ private app;
11
+ constructor(app: Application);
12
+ handle(request: Request, next: (req: Request) => Promise<Response>, response: Response): Promise<Response>;
13
+ }
14
+ //# sourceMappingURL=ResolveServerAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResolveServerAction.d.ts","sourceRoot":"","sources":["../../../src/http/Actions/ResolveServerAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D;;;;;GAKG;AACH,qBAAa,mBAAmB;IAChB,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,WAAW;IAEvB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;CAmB1H"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResolveServerAction = void 0;
4
+ const ActionDispatcher_1 = require("./ActionDispatcher");
5
+ /**
6
+ * ResolveServerAction Middleware
7
+ *
8
+ * Intercepts requests that contain the '_action' field and dispatches them
9
+ * to the appropriate controller method, bypassing traditional routing.
10
+ */
11
+ class ResolveServerAction {
12
+ constructor(app) {
13
+ this.app = app;
14
+ }
15
+ async handle(request, next, response) {
16
+ // Only process if it's a mutation request with an action trigger
17
+ if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(request.method().toUpperCase()) && request.input('_action')) {
18
+ const dispatcher = new ActionDispatcher_1.ActionDispatcher(this.app);
19
+ try {
20
+ const actionResponse = await dispatcher.dispatch(request, response);
21
+ if (actionResponse) {
22
+ return actionResponse;
23
+ }
24
+ }
25
+ catch (e) {
26
+ // Let the global Exception Handler deal with HttpExceptions and others
27
+ throw e;
28
+ }
29
+ }
30
+ return next(request);
31
+ }
32
+ }
33
+ exports.ResolveServerAction = ResolveServerAction;
34
+ //# sourceMappingURL=ResolveServerAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResolveServerAction.js","sourceRoot":"","sources":["../../../src/http/Actions/ResolveServerAction.ts"],"names":[],"mappings":";;;AAEA,yDAAsD;AAEtD;;;;;GAKG;AACH,MAAa,mBAAmB;IAC5B,YAAoB,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;IAAG,CAAC;IAEjC,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE,IAAyC,EAAE,QAAkB;QAC/F,iEAAiE;QACjE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1G,MAAM,UAAU,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,CAAC;gBACD,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAEpE,IAAI,cAAc,EAAE,CAAC;oBACjB,OAAO,cAAc,CAAC;gBAC1B,CAAC;YACL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,uEAAuE;gBACvE,MAAM,CAAC,CAAC;YACZ,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;CACJ;AAtBD,kDAsBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../src/http/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAC;AAGjE,qBAAa,OAAO;IAChB;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAM;IAEjC;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAa;IAE1G;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAU/B;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkDxF;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI3C;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAQrD;;;OAGG;cACa,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqErH;;OAEG;cACa,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuV7E;;OAEG;IACI,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAKpD;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI;IAKrG;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI;IAI5G;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;CAMjC"}
1
+ {"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../src/http/Handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAiB,MAAM,eAAe,CAAC;AAGjE,qBAAa,OAAO;IAChB;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAAM;IAEjC;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAa;IAE1G;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAU/B;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoCxF;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAI3C;;OAEG;IACH,SAAS,CAAC,uBAAuB,IAAI,OAAO;IAI5C;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAQrD;;;OAGG;cACa,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAqErH;;OAEG;cACa,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqV7E;;OAEG;IACI,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAKpD;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI;IAKrG;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI;IAI5G;;OAEG;IACI,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;CAMjC"}
@@ -63,46 +63,36 @@ class Handler {
63
63
  * Render an exception into an HTTP response.
64
64
  */
65
65
  async render(request, error, response) {
66
- // 1. Check if the error has a custom renderer
67
- for (const [type, renderer] of this.renderers.entries()) {
68
- if (error instanceof type) {
69
- return renderer(request, error, response);
66
+ try {
67
+ // 1. Check if the error has a custom renderer
68
+ for (const [type, renderer] of this.renderers.entries()) {
69
+ if (error instanceof type) {
70
+ return renderer(request, error, response);
71
+ }
70
72
  }
71
- }
72
- // 2. Check if the error is "renderable" (has a render method)
73
- if (typeof error.render === 'function') {
74
- return error.render(request, response);
75
- }
76
- // 3. Handle HttpException specifically
77
- if (error instanceof http_1.HttpException) {
78
- const status = error.getStatusCode();
79
- const isBrowserRequest = this.isBrowserRequest(request);
80
- if (isBrowserRequest) {
81
- return this.renderForBrowser(request, status, error, response);
73
+ // 2. Check if the error is "renderable" (has a render method)
74
+ if (typeof error.render === 'function') {
75
+ return error.render(request, response);
82
76
  }
83
- return response.status(status).json({
84
- error: true,
85
- message: error.message,
86
- ...(this.shouldDisplayStackTrace() ? { trace: error.stack } : {})
87
- });
88
- }
89
- // 4. Default error handling
90
- const status = error.statusCode || error.status || 500;
91
- const message = status === 500 && !this.shouldDisplayStackTrace()
92
- ? 'Internal Server Error'
93
- : error.message || 'Unknown Error';
94
- const isBrowserRequest = this.isBrowserRequest(request);
95
- if (isBrowserRequest) {
77
+ // 3. Determine if it's an API request
78
+ const status = (error instanceof http_1.HttpException) ? error.getStatusCode() : (error.statusCode || error.status || 500);
79
+ const isBrowser = this.isBrowserRequest(request);
80
+ if (!isBrowser) {
81
+ return response.status(status).json({
82
+ error: true,
83
+ message: error.message || (status === 500 ? 'Internal Server Error' : 'Unknown Error'),
84
+ ...(this.shouldDisplayStackTrace() ? {
85
+ name: error.name,
86
+ trace: error.stack
87
+ } : {})
88
+ });
89
+ }
90
+ // 4. Browser Request Handling
96
91
  return this.renderForBrowser(request, status, error, response);
97
92
  }
98
- return response.status(status).json({
99
- error: true,
100
- message: message,
101
- ...(this.shouldDisplayStackTrace() ? {
102
- name: error.name,
103
- trace: error.stack
104
- } : {})
105
- });
93
+ catch (renderError) {
94
+ throw renderError;
95
+ }
106
96
  }
107
97
  /**
108
98
  * Determine if the exception should be reported.
@@ -250,10 +240,8 @@ class Handler {
250
240
  .replace(/</g, '&lt;')
251
241
  .replace(/>/g, '&gt;');
252
242
  // Process strings first to avoid matching keywords inside them
253
- highlighted = highlighted
254
- .replace(/('[^']*')/g, '<span style="color:#d946ef">$1</span>')
255
- .replace(/("[^"]*")/g, '<span style="color:#d946ef">$1</span>')
256
- .replace(/(`[^`]*`)/g, '<span style="color:#d946ef">$1</span>');
243
+ // Combine into one regex to avoid matching the "color" attribute from the first replacement!
244
+ highlighted = highlighted.replace(/('[^']*'|"[^"]*"|`[^`]*`)/g, '<span style="color:#d946ef">$1</span>');
257
245
  // Process keywords next, using word boundaries to avoid matching inside tags or larger words
258
246
  const keywords = ['static', 'public', 'protected', 'private', 'async', 'await', 'class', 'interface', 'export', 'import', 'from', 'const', 'let', 'var', 'return', 'if', 'else', 'for', 'while', 'try', 'catch', 'new', 'this', 'throw'];
259
247
  const keywordRegex = new RegExp(`\\b(${keywords.join('|')})\\b`, 'g');
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/http/Handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/http/Handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAiE;AACjE,8CAAuC;AAEvC,MAAa,OAAO;IAApB;QACI;;WAEG;QACO,eAAU,GAAU,EAAE,CAAC;QAEjC;;WAEG;QACO,cAAS,GAA6E,IAAI,GAAG,EAAE,CAAC;IAghB9G,CAAC;IA9gBG;;OAEG;IACI,MAAM,CAAC,KAAU;QACpB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,aAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,EAAE;gBAChC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;gBAC3B,aAAa,EAAE,KAAK,CAAC,aAAa;aACrC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE,KAAU,EAAE,QAAkB;QAChE,IAAI,CAAC;YACD,8CAA8C;YAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;oBACxB,OAAO,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;YAED,8DAA8D;YAC9D,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3C,CAAC;YAED,sCAAsC;YACtC,MAAM,MAAM,GAAG,CAAC,KAAK,YAAY,oBAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YACpH,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBAChC,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC;oBACtF,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;wBACjC,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;qBACrB,CAAC,CAAC,CAAC,EAAE,CAAC;iBACV,CAAC,CAAC;YACP,CAAC;YAED,8BAA8B;YAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACnB,MAAM,WAAW,CAAC;QACtB,CAAC;IACL,CAAC;IAED;;OAEG;IACO,YAAY,CAAC,KAAU;QAC7B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACO,uBAAuB;QAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC;IACtF,CAAC;IAED;;OAEG;IACO,gBAAgB,CAAC,OAAgB;QACvC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QACjE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACpD,MAAM,MAAM,GAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAY,IAAI,EAAE,CAAC;QAC1D,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QACvF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,gBAAgB,CAAC,OAAgB,EAAE,MAAc,EAAE,KAAU,EAAE,QAAkB;QAC7F,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAE5D,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,wDAAa,IAAI,GAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;YAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;YAElD,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAA0B,EAAE;gBAClE,IAAI,CAAC;oBACD,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBACxD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;oBAClD,6CAA6C;oBAC7C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,2CAA2C,EAAE,OAAO,CAAC,CAAC;oBAC1E,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,IAAI,CAAC;gBAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,4DAA4D;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;YACtF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,OAAO;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1D,uEAAuE;YACvE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;YACpF,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;YACtD,IAAI,aAAa;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEtE,wDAAwD;YACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;YACnH,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC9D,IAAI,iBAAiB;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;;;;;;yBAMnB,MAAM,MAAM,KAAK,CAAC,OAAO,IAAI,mBAAmB;;;;;;;;;;;;;;;0BAe/C,MAAM;yBACP,KAAK,CAAC,OAAO,IAAI,kCAAkC;;;;;SAKnE,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,gBAAgB,CAAC,KAAU,EAAE,MAAc;QACvD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,mBAAmB,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAEnC,4CAA4C;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;aAC9B,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;YAClB,8CAA8C;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACrE,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;gBAExG,OAAO;oBACH,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACvD,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC1B,KAAK,EAAE,KAAK;oBACZ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;iBACjD,CAAC;YACN,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEP,kFAAkF;QAClF,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAEhE,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAClF,IAAI,CAAC;gBACD,MAAM,EAAE,GAAG,wDAAa,IAAI,GAAC,CAAC;gBAC9B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAEvD,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC;gBAC7B,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC;gBAE7B,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACtD,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;oBACtC,MAAM,WAAW,GAAG,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC;oBAEnD,4CAA4C;oBAC5C,IAAI,WAAW,GAAG,IAAI;yBACjB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;yBACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;yBACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAE3B,+DAA+D;oBAC/D,6FAA6F;oBAC7F,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,4BAA4B,EAAE,uCAAuC,CAAC,CAAC;oBAEzG,6FAA6F;oBAC7F,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBACzO,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAEtE,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;wBAC1E,wDAAwD;wBACxD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;wBAC3C,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;wBACvD,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;wBAC3D,IAAI,QAAQ,GAAG,SAAS;4BAAE,OAAO,KAAK,CAAC,CAAC,wBAAwB;wBAEhE,OAAO,+BAA+B,KAAK,SAAS,CAAC;oBACzD,CAAC,CAAC,CAAC;oBAEH,gBAAgB;oBAChB,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC;oBAExF,OAAO;+DACoC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,4BAA4B,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;+IAC1B,WAAW;mHACvC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,WAAW,IAAI,GAAG;;qBAExJ,CAAC;gBACN,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,sCAAsC;YAC1C,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE/D,OAAO;;;;;;qBAMM,IAAI,KAAK,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAmDJ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAqIK,IAAI;0BAC3B,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,wDAAwD,CAAC;6EACpC,MAAM;;;;;;sBAM7D,WAAW,CAAC,CAAC,CAAC;;;;;;;0CAOM,WAAW,eAAe,WAAW;;8BAEjD,WAAW;;;qBAGpB,CAAC,CAAC,CAAC,EAAE;;;;;;;8BAOI,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACZ,OAAO,sEAAsE,KAAK,CAAC,GAAG,cAAc,CAAC;YACzG,CAAC;YACD,OAAO;oDACiC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;;qEAEV,KAAK,CAAC,MAAM;0CACvC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,EAAE;;;sEAG1C,KAAK,CAAC,SAAS;2EACV,KAAK,CAAC,IAAI;;mEAElB,KAAK,CAAC,IAAI;;iCAE5C,CAAC;QAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;SAaV,CAAC;IACN,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,UAAiB;QACzC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,IAAS,EAAE,QAAwE;QAC1F,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,IAAS,EAAE,QAAwE;QACjG,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,IAAS;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAzhBD,0BAyhBC"}
@@ -1,5 +1,6 @@
1
1
  import { Application } from '../Contracts/Application';
2
2
  import { Request, Response } from '@arikajs/http';
3
+ import { Pipeline } from '@arikajs/middleware';
3
4
  import { Handler } from './Handler';
4
5
  export declare class Kernel {
5
6
  protected app: Application;
@@ -16,18 +17,33 @@ export declare class Kernel {
16
17
  */
17
18
  protected routeMiddleware: Record<string, any>;
18
19
  protected handler: Handler;
20
+ protected globalPipeline: Pipeline<Request, Response>;
19
21
  constructor(app: Application);
22
+ protected fastPath: Map<string, Function>;
23
+ protected patternWarp: {
24
+ regex: RegExp;
25
+ keys: string[];
26
+ handler: Function;
27
+ }[];
20
28
  /**
21
29
  * Handle an incoming HTTP request.
22
30
  */
23
- handle(request: Request, response: Response): Promise<Response>;
31
+ handle(request: Request, response: Response): Promise<Response> | Response;
24
32
  /**
25
33
  * Dispatch the request to the router.
26
34
  */
27
- protected dispatchToRouter(request: Request, response: Response): Promise<Response>;
35
+ protected dispatchToRouter(request: Request, response: Response): Promise<Response> | Response;
28
36
  /**
29
37
  * Send the response back to the client.
30
38
  */
39
+ protected sendResponse(result: any, response: Response): Response | Promise<Response>;
40
+ /**
41
+ * Internal helper to handle results from warp handlers (including Hyper-Buffers).
42
+ */
43
+ private handleWarpResult;
44
+ /**
45
+ * Actually terminate the request and send to client.
46
+ */
31
47
  terminate(request: Request, response: Response): void;
32
48
  }
33
49
  //# sourceMappingURL=Kernel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAyB,MAAM,eAAe,CAAC;AAKzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,qBAAa,MAAM;IAqCH,SAAS,CAAC,GAAG,EAAE,WAAW;IApCtC;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAQzB;IAEF;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAO/C;IAEF;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI5C;IAEF,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;gBAEL,GAAG,EAAE,WAAW;IAgBtC;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkB5E;;OAEG;cACa,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAYzF;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAG/D"}
1
+ {"version":3,"file":"Kernel.d.ts","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAyB,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,qBAAa,MAAM;IAuCH,SAAS,CAAC,GAAG,EAAE,WAAW;IAtCtC;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,CAQzB;IAEF;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAQ/C;IAEF;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAI5C;IAEF,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAEhC,GAAG,EAAE,WAAW;IAsBtC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAa;IACtD,SAAS,CAAC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,EAAE,CAAM;IAEnF;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ;IAgEjF;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ;IAmB9F;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAerF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAG/D"}
@@ -11,6 +11,7 @@ const VerifyCsrfToken_1 = require("./Middleware/VerifyCsrfToken");
11
11
  const ServeStaticMiddleware_1 = require("./Middleware/ServeStaticMiddleware");
12
12
  const session_1 = require("@arikajs/session");
13
13
  const auth_1 = require("@arikajs/auth");
14
+ const ResolveServerAction_1 = require("./Actions/ResolveServerAction");
14
15
  class Kernel {
15
16
  constructor(app) {
16
17
  this.app = app;
@@ -34,6 +35,7 @@ class Kernel {
34
35
  session_1.StartSession,
35
36
  ViewMiddleware_1.ViewMiddleware,
36
37
  VerifyCsrfToken_1.VerifyCsrfToken,
38
+ ResolveServerAction_1.ResolveServerAction,
37
39
  ],
38
40
  api: [],
39
41
  };
@@ -45,12 +47,19 @@ class Kernel {
45
47
  'verified': auth_1.EnsureEmailIsVerified,
46
48
  'throttle': http_2.Throttle,
47
49
  };
50
+ this.fastPath = new Map();
51
+ this.patternWarp = [];
48
52
  try {
49
53
  this.handler = this.app.make(Handler_1.Handler);
50
54
  }
51
55
  catch (e) {
52
56
  this.handler = new Handler_1.Handler();
53
57
  }
58
+ // Pre-configure global pipeline for better performance
59
+ this.globalPipeline = new middleware_1.Pipeline(this.app.getContainer());
60
+ this.globalPipeline.setMiddlewareGroups(this.middlewareGroups);
61
+ this.globalPipeline.setAliases(this.routeMiddleware);
62
+ this.globalPipeline.pipe(this.middleware);
54
63
  const router = this.app.getRouter();
55
64
  if (router.setMiddlewareGroups) {
56
65
  router.setMiddlewareGroups(this.middlewareGroups);
@@ -62,37 +71,120 @@ class Kernel {
62
71
  /**
63
72
  * Handle an incoming HTTP request.
64
73
  */
65
- async handle(request, response) {
66
- return await this.app.runWithRequest(request, async () => {
74
+ handle(request, response) {
75
+ // Elite HMR Silent Fast-Path: Bypass logging, middleware and rendering
76
+ if (request.header('X-Arika-HMR') === 'check') {
67
77
  try {
68
- const pipeline = new middleware_1.Pipeline(this.app.getContainer());
69
- pipeline.setMiddlewareGroups(this.middlewareGroups);
70
- pipeline.setAliases(this.routeMiddleware);
71
- return await pipeline.pipe(this.middleware)
72
- .handle(request, async (req) => {
78
+ const view = this.app.make('view');
79
+ if (view && view.engine) {
80
+ response.header('X-Arika-State-Hash', view.engine().stateHash || '');
81
+ return response.status(204).send('');
82
+ }
83
+ }
84
+ catch (e) { /* View not registered yet */ }
85
+ }
86
+ const path = request.req.url;
87
+ const method = request.method();
88
+ if (method === 'GET') {
89
+ try {
90
+ // 1. O(1) Literal Warp
91
+ const fastHandler = this.fastPath.get(path);
92
+ if (fastHandler) {
93
+ const result = fastHandler(request, response);
94
+ return this.handleWarpResult(result, response);
95
+ }
96
+ // 2. Pattern Warp (High-speed dynamic jump)
97
+ for (let i = 0; i < this.patternWarp.length; i++) {
98
+ const warp = this.patternWarp[i];
99
+ const match = warp.regex.exec(path);
100
+ if (match) {
101
+ const params = match.slice(1);
102
+ const result = warp.handler(request, response, params);
103
+ return this.handleWarpResult(result, response);
104
+ }
105
+ }
106
+ }
107
+ catch (error) {
108
+ // Route warp errors to the official Exception Handler for pretty UI rendering
109
+ this.handler.report(error);
110
+ return this.handler.render(request, error, response);
111
+ }
112
+ }
113
+ return this.app.runWithRequest(request, () => {
114
+ try {
115
+ const result = this.globalPipeline.handle(request, (req) => {
73
116
  return this.dispatchToRouter(req, response);
74
117
  }, response);
118
+ if (result instanceof Promise) {
119
+ return result
120
+ .then(r => this.sendResponse(r, response))
121
+ .catch(error => {
122
+ this.handler.report(error);
123
+ return this.handler.render(request, error, response);
124
+ });
125
+ }
126
+ return this.sendResponse(result, response);
75
127
  }
76
128
  catch (error) {
77
129
  this.handler.report(error);
78
- return await this.handler.render(request, error, response);
130
+ return this.handler.render(request, error, response);
79
131
  }
80
132
  });
81
133
  }
82
134
  /**
83
135
  * Dispatch the request to the router.
84
136
  */
85
- async dispatchToRouter(request, response) {
137
+ dispatchToRouter(request, response) {
86
138
  const router = this.app.getRouter();
87
- const result = await router.dispatch(request, response);
139
+ const result = router.dispatch(request, response);
88
140
  if (result === null) {
89
141
  throw new http_1.NotFoundHttpException(`Route not found: [${request.method()}] ${request.path()}`);
90
142
  }
143
+ if (result instanceof Promise) {
144
+ return result.then(res => {
145
+ if (res === null)
146
+ throw new http_1.NotFoundHttpException(`Route not found: [${request.method()}] ${request.path()}`);
147
+ return res;
148
+ });
149
+ }
91
150
  return result;
92
151
  }
93
152
  /**
94
153
  * Send the response back to the client.
95
154
  */
155
+ sendResponse(result, response) {
156
+ if (result instanceof Promise) {
157
+ return result.then(r => this.sendResponse(r, response));
158
+ }
159
+ // Handle actual Response objects
160
+ if (result && typeof result.terminate === 'function') {
161
+ result.terminate();
162
+ return result;
163
+ }
164
+ // Handle raw results
165
+ return this.app.make('dispatcher').responseResolver.resolve(result, response);
166
+ }
167
+ /**
168
+ * Internal helper to handle results from warp handlers (including Hyper-Buffers).
169
+ */
170
+ handleWarpResult(result, response) {
171
+ if (result instanceof Buffer) {
172
+ const rawRes = response.res;
173
+ rawRes.writeHead(200, {
174
+ 'Content-Type': 'application/json',
175
+ 'Content-Length': result.length
176
+ });
177
+ rawRes.end(result);
178
+ return response;
179
+ }
180
+ if (result instanceof Promise) {
181
+ return result.then(r => this.sendResponse(r, response));
182
+ }
183
+ return this.sendResponse(result, response);
184
+ }
185
+ /**
186
+ * Actually terminate the request and send to client.
187
+ */
96
188
  terminate(request, response) {
97
189
  response.terminate();
98
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Kernel.js","sourceRoot":"","sources":["../../src/http/Kernel.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare class RequestLoggingMiddleware {
2
- handle(request: any, next: (request: any) => Promise<any>): Promise<any>;
2
+ handle(request: any, next: (request: any) => Promise<any> | any): Promise<any> | any;
3
+ private log;
3
4
  }
4
5
  //# sourceMappingURL=RequestLoggingMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RequestLoggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/http/Middleware/RequestLoggingMiddleware.ts"],"names":[],"mappings":"AAGA,qBAAa,wBAAwB;IACpB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAYxF"}
1
+ {"version":3,"file":"RequestLoggingMiddleware.d.ts","sourceRoot":"","sources":["../../../src/http/Middleware/RequestLoggingMiddleware.ts"],"names":[],"mappings":"AAGA,qBAAa,wBAAwB;IAC1B,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;IAoB3F,OAAO,CAAC,GAAG;CAId"}
@@ -3,14 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RequestLoggingMiddleware = void 0;
4
4
  const logging_1 = require("@arikajs/logging");
5
5
  class RequestLoggingMiddleware {
6
- async handle(request, next) {
6
+ handle(request, next) {
7
+ // Benchmarking Fast-path: Skip logging if silent mode is enabled
8
+ if (process.env.ARIKA_SILENT === 'true') {
9
+ return next(request);
10
+ }
7
11
  const start = Date.now();
8
- const method = request.method();
9
- const url = request.path();
10
- const response = await next(request);
12
+ const res = next(request);
13
+ if (res instanceof Promise) {
14
+ return res.then(response => {
15
+ this.log(request, response, start);
16
+ return response;
17
+ });
18
+ }
19
+ this.log(request, res, start);
20
+ return res;
21
+ }
22
+ log(request, response, start) {
11
23
  const duration = Date.now() - start;
12
- logging_1.Log.info(`${method} ${url} - ${duration}ms`);
13
- return response;
24
+ logging_1.Log.info(`${request.method()} ${request.path()} - ${duration}ms`);
14
25
  }
15
26
  }
16
27
  exports.RequestLoggingMiddleware = RequestLoggingMiddleware;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestLoggingMiddleware.js","sourceRoot":"","sources":["../../../src/http/Middleware/RequestLoggingMiddleware.ts"],"names":[],"mappings":";;;AACA,8CAAuC;AAEvC,MAAa,wBAAwB;IAC1B,KAAK,CAAC,MAAM,CAAC,OAAY,EAAE,IAAoC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,aAAG,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,GAAG,MAAM,QAAQ,IAAI,CAAC,CAAC;QAE7C,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAbD,4DAaC"}
1
+ {"version":3,"file":"RequestLoggingMiddleware.js","sourceRoot":"","sources":["../../../src/http/Middleware/RequestLoggingMiddleware.ts"],"names":[],"mappings":";;;AACA,8CAAuC;AAEvC,MAAa,wBAAwB;IAC1B,MAAM,CAAC,OAAY,EAAE,IAA0C;QAClE,iEAAiE;QACjE,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1B,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACnC,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,GAAG,CAAC,OAAY,EAAE,QAAa,EAAE,KAAa;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACpC,aAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,QAAQ,IAAI,CAAC,CAAC;IACtE,CAAC;CACJ;AAzBD,4DAyBC"}
@@ -1,12 +1,10 @@
1
1
  import { ServiceProvider } from '@arikajs/foundation';
2
- export declare class ViewServiceProvider extends ServiceProvider {
2
+ import { Application } from '../Contracts/Application';
3
+ export declare class ViewServiceProvider extends ServiceProvider<Application> {
3
4
  /**
4
5
  * Register the service provider.
5
6
  */
6
7
  register(): Promise<void>;
7
- /**
8
- * Boot the service provider.
9
- */
10
8
  boot(): Promise<void>;
11
9
  }
12
10
  //# sourceMappingURL=ViewServiceProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewServiceProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ViewServiceProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,qBAAa,mBAAoB,SAAQ,eAAe;IACpD;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCtC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
1
+ {"version":3,"file":"ViewServiceProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ViewServiceProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAKtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,qBAAa,mBAAoB,SAAQ,eAAe,CAAC,WAAW,CAAC;IACjE;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCzB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAWrC"}
@@ -23,7 +23,13 @@ class ViewServiceProvider extends foundation_1.ServiceProvider {
23
23
  const view = new view_1.View({
24
24
  viewsPath,
25
25
  cachePath,
26
- cache: config.get('app.env') === 'production'
26
+ cache: config.get('app.env') === 'production',
27
+ dev: config.get('app.debug', false),
28
+ appKey: config.get('app.key'),
29
+ cacheDriver: this.app.has('cache') ? {
30
+ get: (key) => this.app.make('cache').get(`view_cache:${key}`),
31
+ set: (key, value, ttl) => this.app.make('cache').set(`view_cache:${key}`, value, ttl)
32
+ } : undefined
27
33
  });
28
34
  // Register standard view helpers
29
35
  view.helper('config', (key, defaultValue) => config.get(key, defaultValue));
@@ -36,11 +42,14 @@ class ViewServiceProvider extends foundation_1.ServiceProvider {
36
42
  return new ViewMiddleware_1.ViewMiddleware(this.app.make(view_1.View));
37
43
  });
38
44
  }
39
- /**
40
- * Boot the service provider.
41
- */
42
45
  async boot() {
43
- //
46
+ const view = this.app.make(view_1.View);
47
+ // Prevent the CLI process from running duplicate watchers
48
+ // We only want the actual HTTP server (server.ts) to watch files.
49
+ const isCli = global.__ARIKA_CLI_BOOTSTRAP__ === true;
50
+ if (view.config.dev && !isCli) {
51
+ view.engine().watch();
52
+ }
44
53
  }
45
54
  }
46
55
  exports.ViewServiceProvider = ViewServiceProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewServiceProvider.js","sourceRoot":"","sources":["../../src/providers/ViewServiceProvider.ts"],"names":[],"mappings":";;;;;;AACA,oDAAsD;AACtD,wCAAqC;AACrC,4CAAyC;AACzC,gDAAwB;AACxB,sEAAmE;AAEnE,MAAa,mBAAoB,SAAQ,4BAAe;IACpD;;OAEG;IACI,KAAK,CAAC,QAAQ;QACjB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAI,EAAE,GAAG,EAAE;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE;gBACvC,cAAI,CAAC,IAAI,CAAE,IAAI,CAAC,GAAW,CAAC,WAAW,EAAE,EAAE,iBAAiB,CAAC;aAChE,CAAC,CAAC,CAAC,CAAW,CAAC;YAEhB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAC1C,cAAI,CAAC,IAAI,CAAE,IAAI,CAAC,GAAW,CAAC,WAAW,EAAE,EAAE,yBAAyB,CAAC,CAC9D,CAAC;YAEZ,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC;gBAClB,SAAS;gBACT,SAAS;gBACT,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,YAAY;aAChD,CAAC,CAAC;YAEH,iCAAiC;YACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAW,EAAE,YAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,SAAc,EAAE,EAAE,CAAC,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,SAAc,EAAE,MAAM,GAAG,OAAO,EAAE,EAAE,CAAC,IAAA,eAAM,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAE5F,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAI,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,+BAAc,EAAE,GAAG,EAAE;YACpC,OAAO,IAAI,+BAAc,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAI,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI;QACb,EAAE;IACN,CAAC;CACJ;AA1CD,kDA0CC"}
1
+ {"version":3,"file":"ViewServiceProvider.js","sourceRoot":"","sources":["../../src/providers/ViewServiceProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "arikajs",
3
- "version": "0.10.7",
3
+ "version": "0.10.9",
4
4
  "description": "The ArikaJS Framework.",
5
- "license": "MIT",
5
+ "license": "BSL-1.1",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "files": [
@@ -13,29 +13,29 @@
13
13
  "@types/serve-static": "^2.2.0",
14
14
  "busboy": "^1.6.0",
15
15
  "serve-static": "^2.2.1",
16
- "@arikajs/auth": "0.10.7",
17
- "@arikajs/cache": "0.10.7",
18
- "@arikajs/authorization": "0.10.7",
19
- "@arikajs/carbon": "^0.10.7",
20
- "@arikajs/config": "0.10.7",
21
- "@arikajs/console": "0.10.7",
22
- "@arikajs/database": "0.10.7",
23
- "@arikajs/dispatcher": "0.10.7",
24
- "@arikajs/encryption": "0.10.7",
25
- "@arikajs/events": "0.10.7",
26
- "@arikajs/foundation": "0.10.7",
27
- "@arikajs/localization": "0.10.7",
28
- "@arikajs/http": "0.10.7",
29
- "@arikajs/logging": "0.10.7",
30
- "@arikajs/mail": "0.10.7",
31
- "@arikajs/middleware": "0.10.7",
32
- "@arikajs/queue": "0.10.7",
33
- "@arikajs/router": "0.10.7",
34
- "@arikajs/scheduler": "0.10.7",
35
- "@arikajs/session": "0.10.7",
36
- "@arikajs/storage": "0.10.7",
37
- "@arikajs/validation": "0.10.7",
38
- "@arikajs/view": "0.10.7"
16
+ "@arikajs/carbon": "^0.10.9",
17
+ "@arikajs/authorization": "0.10.9",
18
+ "@arikajs/cache": "0.10.9",
19
+ "@arikajs/config": "0.10.9",
20
+ "@arikajs/auth": "0.10.9",
21
+ "@arikajs/database": "0.10.9",
22
+ "@arikajs/console": "0.10.9",
23
+ "@arikajs/dispatcher": "0.10.9",
24
+ "@arikajs/events": "0.10.9",
25
+ "@arikajs/localization": "0.10.9",
26
+ "@arikajs/http": "0.10.9",
27
+ "@arikajs/foundation": "0.10.9",
28
+ "@arikajs/encryption": "0.10.9",
29
+ "@arikajs/mail": "0.10.9",
30
+ "@arikajs/middleware": "0.10.9",
31
+ "@arikajs/queue": "0.10.9",
32
+ "@arikajs/logging": "0.10.9",
33
+ "@arikajs/storage": "0.10.9",
34
+ "@arikajs/session": "0.10.9",
35
+ "@arikajs/router": "0.10.9",
36
+ "@arikajs/scheduler": "0.10.9",
37
+ "@arikajs/view": "0.10.9",
38
+ "@arikajs/validation": "0.10.9"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/node": "^20.11.24",