cahita 1.0.1 → 1.1.1

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.
@@ -0,0 +1,2 @@
1
+ export declare const NOT_FOUND_TEMPLATE: string;
2
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/constants/templates.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,QAkCvB,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NOT_FOUND_TEMPLATE = void 0;
4
+ exports.NOT_FOUND_TEMPLATE = `
5
+ <!DOCTYPE html>
6
+ <html lang="en">
7
+ <head>
8
+ <meta charset="UTF-8">
9
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
+ <title>404 | Cahita</title>
11
+ <style>
12
+ :root { --bg: #0a0a0a; --accent: #d35400; --text: #888; --code: #e0e0e0; }
13
+ body {
14
+ background: var(--bg);
15
+ color: var(--text);
16
+ font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, monospace;
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ height: 100vh;
21
+ margin: 0;
22
+ }
23
+ .content { text-align: center; }
24
+ h1 { font-size: 1.5rem; color: var(--accent); margin: 0; font-weight: 400; }
25
+ p { font-size: 0.9rem; margin: 10px 0 20px; letter-spacing: 0.5px; }
26
+ .path { color: var(--code); background: #161616; padding: 2px 6px; border-radius: 3px; }
27
+ .footer { font-size: 0.7rem; color: #333; text-transform: uppercase; margin-top: 50px; }
28
+ </style>
29
+ </head>
30
+ <body>
31
+ <div class="content">
32
+ <h1>404 NOT FOUND</h1>
33
+ <p>Signal lost at <span class="path">{{PATH}}</span></p>
34
+ <div class="footer">🌵 Cahita Framework</div>
35
+ </div>
36
+ </body>
37
+ </html>
38
+ `.trim();
39
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/constants/templates.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCjC,CAAC,IAAI,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAqB,MAAM,SAAS,CAAC;AAEtE,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;;IAKvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAWnF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAUjD,OAAO,CAAC,MAAM;CAcf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAqB,MAAM,SAAS,CAAC;AAEtE,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;;IAKvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAWnF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAUjD,OAAO,CAAC,MAAM;CA2Bf"}
package/dist/lib/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Application = void 0;
4
4
  const node_http_1 = require("node:http");
5
+ const templates_1 = require("../constants/templates");
5
6
  const augment_response_helper_1 = require("../helpers/augment-response.helper");
6
7
  const router_1 = require("../router");
7
8
  class Application {
@@ -44,7 +45,17 @@ class Application {
44
45
  });
45
46
  return;
46
47
  }
47
- res.status(404).end('Not Found');
48
+ res.status(404);
49
+ const accept = req.headers.accept || '';
50
+ if (accept.includes('application/json')) {
51
+ return res.json({ error: 'Not Found', path: req.url });
52
+ }
53
+ if (!accept.includes('text/html')) {
54
+ return res.end(`404 Not Found: ${req.url}`);
55
+ }
56
+ const html = templates_1.NOT_FOUND_TEMPLATE.replace('{{PATH}}', req.url || '/');
57
+ res.setHeader('Content-Type', 'text/html');
58
+ res.end(html);
48
59
  });
49
60
  }
50
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,+EAAoE;AACpE,qCAAkC;AAGlC,MAAa,WAAW;IACd,MAAM,CAAS;IAEvB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,IAAkC,EAAE,GAAG,QAAiC;QAC1E,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAY,EAAE,GAAG,QAAmB;QACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,GAAG,QAAmB;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,QAAqB;QACxC,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,GAAc,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAA,yCAAe,EAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,GAAY,EAAE,GAAa;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YACnC,IAAI,GAAG,CAAC,aAAa;gBAAE,OAAO;YAE9B,IAAI,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB;iBACpE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAjDD,kCAiDC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cahita",
3
- "version": "1.0.1",
3
+ "version": "1.1.1",
4
4
  "description": "A high-performance, async-first web framework for Node.js",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",