spiceflow 1.1.2 → 1.1.3

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 (50) hide show
  1. package/dist/benchmark.benchmark.d.ts +2 -0
  2. package/dist/benchmark.benchmark.d.ts.map +1 -0
  3. package/dist/benchmark.benchmark.js +13 -0
  4. package/dist/benchmark.benchmark.js.map +1 -0
  5. package/dist/context.d.ts +0 -3
  6. package/dist/context.d.ts.map +1 -1
  7. package/dist/cors.d.ts +22 -0
  8. package/dist/cors.d.ts.map +1 -0
  9. package/dist/cors.js +76 -0
  10. package/dist/cors.js.map +1 -0
  11. package/dist/cors.test.d.ts +2 -0
  12. package/dist/cors.test.d.ts.map +1 -0
  13. package/dist/cors.test.js +39 -0
  14. package/dist/cors.test.js.map +1 -0
  15. package/dist/error.d.ts +0 -4
  16. package/dist/error.d.ts.map +1 -1
  17. package/dist/error.js +0 -7
  18. package/dist/error.js.map +1 -1
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/middleware.test.js +37 -0
  24. package/dist/middleware.test.js.map +1 -1
  25. package/dist/spiceflow.d.ts +0 -11
  26. package/dist/spiceflow.d.ts.map +1 -1
  27. package/dist/spiceflow.js +46 -31
  28. package/dist/spiceflow.js.map +1 -1
  29. package/dist/spiceflow.test.js +17 -0
  30. package/dist/spiceflow.test.js.map +1 -1
  31. package/dist/types.d.ts +3 -33
  32. package/dist/types.d.ts.map +1 -1
  33. package/dist/types.js.map +1 -1
  34. package/package.json +23 -1
  35. package/src/benchmark.benchmark.ts +16 -0
  36. package/src/context.ts +3 -3
  37. package/src/cors.test.ts +44 -0
  38. package/src/cors.ts +115 -0
  39. package/src/error.ts +0 -8
  40. package/src/index.ts +1 -0
  41. package/src/middleware.test.ts +39 -0
  42. package/src/spiceflow.test.ts +24 -0
  43. package/src/spiceflow.ts +51 -69
  44. package/src/types.test.ts +1 -0
  45. package/src/types.ts +10 -35
  46. package/dist/benchmark.test.d.ts +0 -2
  47. package/dist/benchmark.test.d.ts.map +0 -1
  48. package/dist/benchmark.test.js +0 -8
  49. package/dist/benchmark.test.js.map +0 -1
  50. package/src/benchmark.test.ts +0 -8
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=benchmark.benchmark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.benchmark.d.ts","sourceRoot":"","sources":["../src/benchmark.benchmark.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { bench } from 'vitest';
2
+ import { Spiceflow } from './spiceflow.js';
3
+ bench('Spiceflow basic routing', async () => {
4
+ const app = new Spiceflow();
5
+ app.get('/hello', () => {
6
+ return { message: 'Hello, World!' };
7
+ });
8
+ const request = new Request('http://localhost/hello');
9
+ for (let i = 0; i < 10000; i++) {
10
+ await app.handle(request);
11
+ }
12
+ });
13
+ //# sourceMappingURL=benchmark.benchmark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchmark.benchmark.js","sourceRoot":"","sources":["../src/benchmark.benchmark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,KAAK,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IAC3C,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAA;IAE3B,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;AACF,CAAC,CAAC,CAAA"}
package/dist/context.d.ts CHANGED
@@ -2,7 +2,6 @@ import type { redirect as Redirect } from './utils.js';
2
2
  import type { RouteSchema, Prettify, ResolvePath, SingletonBase } from './types.js';
3
3
  import { TypedRequest } from './spiceflow.js';
4
4
  export type ErrorContext<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
5
- decorator: {};
6
5
  store: {};
7
6
  derive: {};
8
7
  resolve: {};
@@ -31,7 +30,6 @@ export type ErrorContext<in out Route extends RouteSchema = {}, in out Singleton
31
30
  store: Singleton['store'];
32
31
  }>;
33
32
  export type Context<in out Route extends RouteSchema = {}, in out Singleton extends SingletonBase = {
34
- decorator: {};
35
33
  store: {};
36
34
  derive: {};
37
35
  resolve: {};
@@ -59,7 +57,6 @@ export type Context<in out Route extends RouteSchema = {}, in out Singleton exte
59
57
  response?: Route['response'];
60
58
  }>;
61
59
  export type MiddlewareContext<in out Singleton extends SingletonBase = {
62
- decorator: {};
63
60
  store: {};
64
61
  }> = Prettify<{
65
62
  store: Singleton['store'];
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/cors.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import { MiddlewareHandler } from './types.js';
2
+ /**
3
+ * Options for configuring CORS (Cross-Origin Resource Sharing) middleware.
4
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS MDN CORS documentation}
5
+ */
6
+ type CORSOptions = {
7
+ /** Configures the Access-Control-Allow-Origin CORS header */
8
+ origin: string | string[];
9
+ /** Configures the Access-Control-Allow-Methods CORS header */
10
+ allowMethods?: string[];
11
+ /** Configures the Access-Control-Allow-Headers CORS header */
12
+ allowHeaders?: string[];
13
+ /** Configures the Access-Control-Max-Age CORS header */
14
+ maxAge?: number;
15
+ /** Configures the Access-Control-Allow-Credentials CORS header */
16
+ credentials?: boolean;
17
+ /** Configures the Access-Control-Expose-Headers CORS header */
18
+ exposeHeaders?: string[];
19
+ };
20
+ export declare const cors: (options?: CORSOptions) => MiddlewareHandler;
21
+ export {};
22
+ //# sourceMappingURL=cors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C;;;GAGG;AACH,KAAK,WAAW,GAAG;IAClB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,IAAI,aAAc,WAAW,KAAG,iBA8F5C,CAAA"}
package/dist/cors.js ADDED
@@ -0,0 +1,76 @@
1
+ export const cors = (options) => {
2
+ const defaults = {
3
+ origin: '*',
4
+ allowMethods: ['GET', 'HEAD', 'PUT', 'POST', 'DELETE', 'PATCH'],
5
+ allowHeaders: [],
6
+ exposeHeaders: [],
7
+ };
8
+ const opts = Object.assign(Object.assign({}, defaults), options);
9
+ const findAllowOrigin = ((optsOrigin) => {
10
+ if (typeof optsOrigin === 'string') {
11
+ return () => optsOrigin;
12
+ }
13
+ else if (typeof optsOrigin === 'function') {
14
+ return optsOrigin;
15
+ }
16
+ else {
17
+ return (origin) => optsOrigin.includes(origin) ? origin : optsOrigin[0];
18
+ }
19
+ })(opts.origin);
20
+ return async function cors(c, next) {
21
+ var _a, _b;
22
+ let response = await next();
23
+ function set(key, value) {
24
+ response.headers.set(key, value);
25
+ }
26
+ const allowOrigin = findAllowOrigin(c.request.headers.get('origin') || '');
27
+ if (allowOrigin) {
28
+ set('Access-Control-Allow-Origin', allowOrigin);
29
+ }
30
+ // Suppose the server sends a response with an Access-Control-Allow-Origin value with an explicit origin (rather than the "*" wildcard).
31
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
32
+ if (opts.origin !== '*') {
33
+ const existingVary = c.request.headers.get('Vary');
34
+ if (existingVary) {
35
+ set('Vary', existingVary);
36
+ }
37
+ else {
38
+ set('Vary', 'Origin');
39
+ }
40
+ }
41
+ if (opts.credentials) {
42
+ set('Access-Control-Allow-Credentials', 'true');
43
+ }
44
+ if ((_a = opts.exposeHeaders) === null || _a === void 0 ? void 0 : _a.length) {
45
+ set('Access-Control-Expose-Headers', opts.exposeHeaders.join(','));
46
+ }
47
+ if (c.request.method === 'OPTIONS') {
48
+ if (opts.maxAge != null) {
49
+ set('Access-Control-Max-Age', opts.maxAge.toString());
50
+ }
51
+ if ((_b = opts.allowMethods) === null || _b === void 0 ? void 0 : _b.length) {
52
+ set('Access-Control-Allow-Methods', opts.allowMethods.join(','));
53
+ }
54
+ let headers = opts.allowHeaders;
55
+ if (!(headers === null || headers === void 0 ? void 0 : headers.length)) {
56
+ const requestHeaders = c.request.headers.get('Access-Control-Request-Headers');
57
+ if (requestHeaders) {
58
+ headers = requestHeaders.split(/\s*,\s*/);
59
+ }
60
+ }
61
+ if (headers === null || headers === void 0 ? void 0 : headers.length) {
62
+ set('Access-Control-Allow-Headers', headers.join(','));
63
+ c.request.headers.append('Vary', 'Access-Control-Request-Headers');
64
+ }
65
+ response.headers.delete('Content-Length');
66
+ response.headers.delete('Content-Type');
67
+ return new Response(null, {
68
+ headers: response.headers,
69
+ status: 204,
70
+ statusText: response.statusText,
71
+ });
72
+ }
73
+ return response;
74
+ };
75
+ };
76
+ //# sourceMappingURL=cors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors.js","sourceRoot":"","sources":["../src/cors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors.test.d.ts","sourceRoot":"","sources":["../src/cors.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { describe, expect, test } from 'vitest';
2
+ import { z } from 'zod';
3
+ import { cors } from './cors.js';
4
+ import { Spiceflow } from './spiceflow.js';
5
+ function request(path, method = 'GET') {
6
+ return new Request(`http://localhost/${path}`, {
7
+ method,
8
+ headers: {
9
+ Origin: 'http://example.com',
10
+ },
11
+ });
12
+ }
13
+ describe('cors middleware', () => {
14
+ const app = new Spiceflow()
15
+ .use(cors())
16
+ .get('/ids/:id', () => 'hi')
17
+ .post('/ids/:id', ({ params: { id } }) => id, {
18
+ params: z.object({ id: z.string() }),
19
+ });
20
+ test('GET request returns correct response and CORS headers', async () => {
21
+ const res = await app.handle(request('ids/xxx'));
22
+ expect(res.status).toBe(200);
23
+ expect(await res.json()).toBe('hi');
24
+ expect(res.headers.get('Access-Control-Allow-Origin')).toBe('*');
25
+ });
26
+ test('OPTIONS request returns correct CORS headers', async () => {
27
+ const res = await app.handle(request('ids/xxx', 'OPTIONS'));
28
+ expect(res.status).toBe(204);
29
+ expect(res.headers.get('Access-Control-Allow-Origin')).toBe('*');
30
+ expect(res.headers.get('Access-Control-Allow-Methods')).toBe('GET,HEAD,PUT,POST,DELETE,PATCH');
31
+ });
32
+ test('POST request respects CORS and returns correct response', async () => {
33
+ const res = await app.handle(request('ids/123', 'POST'));
34
+ expect(res.status).toBe(200);
35
+ expect(await res.json()).toBe('123');
36
+ expect(res.headers.get('Access-Control-Allow-Origin')).toBe('*');
37
+ });
38
+ });
39
+ //# sourceMappingURL=cors.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cors.test.js","sourceRoot":"","sources":["../src/cors.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,SAAS,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IACpC,OAAO,IAAI,OAAO,CAAC,oBAAoB,IAAI,EAAE,EAAE;QAC9C,MAAM;QACN,OAAO,EAAE;YACR,MAAM,EAAE,oBAAoB;SAC5B;KACD,CAAC,CAAA;AACH,CAAC;AACD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAChC,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE;SACzB,GAAG,CAAC,IAAI,EAAE,CAAC;SACX,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;SAC3B,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;KACpC,CAAC,CAAA;IAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAChD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;QAC3D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAC3D,gCAAgC,CAChC,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;QACxD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
package/dist/error.d.ts CHANGED
@@ -7,10 +7,6 @@ export declare class ValidationError extends Error {
7
7
  code: string;
8
8
  status: number;
9
9
  }
10
- export declare class NotFoundError extends Error {
11
- code: string;
12
- status: number;
13
- }
14
10
  export declare class ParseError extends Error {
15
11
  code: string;
16
12
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,UAAU,eAA+B,CAAA;AACtD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAA;AAE1C,eAAO,MAAM,eAAe,eAA8B,CAAA;AAC1D,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAA;AAEpD,eAAO,MAAM,YAAY,SAA+C,CAAA;AAExE,qBAAa,eAAgB,SAAQ,KAAK;IACzC,IAAI,SAAe;IACnB,MAAM,SAAM;CACZ;AAED,qBAAa,aAAc,SAAQ,KAAK;IACvC,IAAI,SAAc;IAClB,MAAM,SAAM;CACZ;AAED,qBAAa,UAAW,SAAQ,KAAK;IACpC,IAAI,SAAU;IACd,MAAM,SAAM;CACZ;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC7C,IAAI,SAA0B;IAC9B,MAAM,SAAM;CACZ"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,UAAU,eAA+B,CAAA;AACtD,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAA;AAE1C,eAAO,MAAM,eAAe,eAA8B,CAAA;AAC1D,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAA;AAEpD,eAAO,MAAM,YAAY,SAA+C,CAAA;AAExE,qBAAa,eAAgB,SAAQ,KAAK;IACzC,IAAI,SAAe;IACnB,MAAM,SAAM;CACZ;AAED,qBAAa,UAAW,SAAQ,KAAK;IACpC,IAAI,SAAU;IACd,MAAM,SAAM;CACZ;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC7C,IAAI,SAA0B;IAC9B,MAAM,SAAM;CACZ"}
package/dist/error.js CHANGED
@@ -18,13 +18,6 @@ export class ValidationError extends Error {
18
18
  this.status = 422;
19
19
  }
20
20
  }
21
- export class NotFoundError extends Error {
22
- constructor() {
23
- super(...arguments);
24
- this.code = 'NOT_FOUND';
25
- this.status = 404;
26
- }
27
- }
28
21
  export class ParseError extends Error {
29
22
  constructor() {
30
23
  super(...arguments);
package/dist/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";AAEA,8BAA8B;AAC9B,MAAM,GAAG;AACR,aAAa;AACb,OAAO,GAAG,KAAK,WAAW;IACzB,CAAC,CAAC,aAAa;QACb,GAAG,CAAC,GAAG;IACT,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW;QAChC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG;QACd,CAAC,CAAC,SAAS,CAAA;AAEb,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAGtD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAG1D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,mCAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAC,KAAK,YAAY,CAAA;AAExE,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAA1C;;QACC,SAAI,GAAG,YAAY,CAAA;QACnB,WAAM,GAAG,GAAG,CAAA;IACb,CAAC;CAAA;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IAAxC;;QACC,SAAI,GAAG,WAAW,CAAA;QAClB,WAAM,GAAG,GAAG,CAAA;IACb,CAAC;CAAA;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IAArC;;QACC,SAAI,GAAG,OAAO,CAAA;QACd,WAAM,GAAG,GAAG,CAAA;IACb,CAAC;CAAA;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAA9C;;QACC,SAAI,GAAG,uBAAuB,CAAA;QAC9B,WAAM,GAAG,GAAG,CAAA;IACb,CAAC;CAAA"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";AAAA,8BAA8B;AAC9B,MAAM,GAAG;AACR,aAAa;AACb,OAAO,GAAG,KAAK,WAAW;IACzB,CAAC,CAAC,aAAa;QACb,GAAG,CAAC,GAAG;IACT,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW;QAChC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG;QACd,CAAC,CAAC,SAAS,CAAA;AAEb,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAGtD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAG1D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,mCAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAC,KAAK,YAAY,CAAA;AAExE,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAA1C;;QACC,SAAI,GAAG,YAAY,CAAA;QACnB,WAAM,GAAG,GAAG,CAAA;IACb,CAAC;CAAA;AAED,MAAM,OAAO,UAAW,SAAQ,KAAK;IAArC;;QACC,SAAI,GAAG,OAAO,CAAA;QACd,WAAM,GAAG,GAAG,CAAA;IACb,CAAC;CAAA;AAED,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAA9C;;QACC,SAAI,GAAG,uBAAuB,CAAA;QAC9B,WAAM,GAAG,GAAG,CAAA;IACb,CAAC;CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { Spiceflow, AnySpiceflow } from './spiceflow.js';
2
+ export { InternalServerError, ParseError, ValidationError } from './error.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { Spiceflow } from './spiceflow.js';
2
+ export { InternalServerError, ParseError, ValidationError } from './error.js';
2
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
@@ -21,6 +21,22 @@ test('middleware with next changes the response', async () => {
21
21
  expect(await res.json()).toEqual('hi');
22
22
  expect(res.headers.get('x-test')).toBe('ok');
23
23
  });
24
+ test('middleware next returns a response even for 404, if there are no routes', async () => {
25
+ const res = await new Spiceflow()
26
+ .use(async ({ request }, next) => {
27
+ expect(request.method).toBe('GET');
28
+ const res = await next();
29
+ expect(res).toBeInstanceOf(Response);
30
+ if (res) {
31
+ res.headers.set('x-test', 'ok');
32
+ }
33
+ return res;
34
+ })
35
+ .handle(new Request('http://localhost/non-existent', { method: 'GET' }));
36
+ expect(res.status).toBe(404);
37
+ expect(res.headers.get('x-test')).toBe('ok');
38
+ expect(await res.text()).toContain('Not Found');
39
+ });
24
40
  test('middleware without next runs the next middleware and handler', async () => {
25
41
  let middlewaresCalled = [];
26
42
  const res = await new Spiceflow()
@@ -74,6 +90,27 @@ test('middleware stops other middlewares', async () => {
74
90
  expect(middlewaresCalled).toEqual(['first']);
75
91
  expect(await res.text()).toEqual('ok');
76
92
  });
93
+ test('calling next and then returning a new response works', async () => {
94
+ let middlewaresCalled = [];
95
+ const res = await new Spiceflow()
96
+ .use(async (ctx, next) => {
97
+ middlewaresCalled.push('first');
98
+ await next();
99
+ return new Response('middleware response');
100
+ })
101
+ .use(async (ctx, next) => {
102
+ middlewaresCalled.push('second');
103
+ return next();
104
+ })
105
+ .get('/ids/:id', () => {
106
+ middlewaresCalled.push('handler');
107
+ return 'handler response';
108
+ })
109
+ .handle(new Request('http://localhost/ids/xxx', { method: 'GET' }));
110
+ expect(res.status).toBe(200);
111
+ expect(middlewaresCalled).toEqual(['first', 'second', 'handler']);
112
+ expect(await res.text()).toEqual('middleware response');
113
+ });
77
114
  test('middleware changes handler response body', async () => {
78
115
  let middlewaresCalled = [];
79
116
  const res = await new Spiceflow()
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.test.js","sourceRoot":"","sources":["../src/middleware.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.test.js","sourceRoot":"","sources":["../src/middleware.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAY,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAO,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,EAAE;SAC/B,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE;QAChC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,CAAA;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,GAAG,CAAA;IACX,CAAC,CAAC;SACD,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;SAC3B,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;QAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;KACpC,CAAC;SACD,MAAM,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACpE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;IAC1F,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,EAAE;SAC/B,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE;QAChC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,CAAA;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QACpC,IAAI,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,GAAG,CAAA;IACX,CAAC,CAAC;SACD,MAAM,CAAC,IAAI,OAAO,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACzE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;AAChD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;IAC/E,IAAI,iBAAiB,GAAG,EAAc,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,EAAE;SAC/B,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1B,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC;SACD,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE;QAChC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,GAAG,GAAG,MAAM,IAAI,EAAE,CAAA;QACxB,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC7B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,GAAG,CAAA;IACX,CAAC,CAAC;SACD,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;SAE3B,MAAM,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACpE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtD,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;IAC7C,IAAI,iBAAiB,GAAG,EAAc,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,EAAE;SAC/B,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1B,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC;SACD,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE;QAChC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAC;SACD,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;SAE3B,MAAM,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACpE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtD,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;IACrD,IAAI,iBAAiB,GAAG,EAAc,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,EAAE;SAC/B,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1B,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC,CAAC;SACD,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1B,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC,CAAC;SACD,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;SAE3B,MAAM,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACpE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5C,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACvE,IAAI,iBAAiB,GAAG,EAAc,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,EAAE;SAC/B,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/B,MAAM,IAAI,EAAE,CAAA;QACZ,OAAO,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAAA;IAC3C,CAAC,CAAC;SACD,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,OAAO,IAAI,EAAE,CAAA;IACd,CAAC,CAAC;SACD,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE;QACrB,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACjC,OAAO,kBAAkB,CAAA;IAC1B,CAAC,CAAC;SAED,MAAM,CAAC,IAAI,OAAO,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IACpE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IACjE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;AACxD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;IAC3D,IAAI,iBAAiB,GAAG,EAAc,CAAA;IACtC,MAAM,GAAG,GAAG,MAAM,IAAI,SAAS,EAAE;SAC/B,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAA;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAClC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,QAAQ,CAAA;IAChB,CAAC,CAAC;SACD,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,OAAO,IAAI,EAAE,CAAA;IACd,CAAC,CAAC;SACD,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;SACjC,MAAM,CAAC,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAA;IAE9C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtD,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;AAChD,CAAC,CAAC,CAAA"}
@@ -11,11 +11,7 @@ export type InternalRoute = {
11
11
  validateBody?: ValidateFunction;
12
12
  validateQuery?: ValidateFunction;
13
13
  validateParams?: ValidateFunction;
14
- prefix: string;
15
14
  };
16
- /**
17
- * Router class
18
- */
19
15
  export declare class Spiceflow<const in out BasePath extends string = '', const in out Scoped extends boolean = true, const in out Singleton extends SingletonBase = {
20
16
  store: {};
21
17
  }, const in out Definitions extends DefinitionBase = {
@@ -46,7 +42,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
46
42
  validateBody?: ValidateFunction;
47
43
  validateQuery?: ValidateFunction;
48
44
  validateParams?: ValidateFunction;
49
- prefix: string;
50
45
  }[];
51
46
  private add;
52
47
  private match;
@@ -142,12 +137,6 @@ export declare class Spiceflow<const in out BasePath extends string = '', const
142
137
  store: Singleton['store'];
143
138
  }>>): this;
144
139
  onError<const Schema extends RouteSchema>(handler: MaybeArray<ErrorHandler<Definitions['error'], Schema, Singleton>>): this;
145
- /**
146
- * Pass a request through all matching route handles and return a response
147
- * @param request The `Request`
148
- * @param platform Platform specific context {@link Platform}
149
- * @returns The final `Response`
150
- */
151
140
  handle(request: Request): Promise<Response>;
152
141
  private runErrorHandlers;
153
142
  private getAppAndParents;
@@ -1 +1 @@
1
- {"version":3,"file":"spiceflow.d.ts","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spiceflow.d.ts","sourceRoot":"","sources":["../src/spiceflow.ts"],"names":[],"mappings":"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"}
package/dist/spiceflow.js CHANGED
@@ -21,13 +21,11 @@ import { Type } from '@sinclair/typebox';
21
21
  export { Type as t };
22
22
  import addFormats from 'ajv-formats';
23
23
  let globalIndex = 0;
24
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
- // @ts-ignore
26
24
  import OriginalRouter from '@medley/router';
27
25
  import Ajv from 'ajv';
28
26
  import { z } from 'zod';
29
27
  import { zodToJsonSchema } from 'zod-to-json-schema';
30
- import { isProduction, NotFoundError, ValidationError } from './error.js';
28
+ import { isProduction, ValidationError } from './error.js';
31
29
  import { isAsyncIterable, redirect } from './utils.js';
32
30
  const ajv = (addFormats.default || addFormats)(new (Ajv.default || Ajv)({ useDefaults: true }), [
33
31
  'date-time',
@@ -45,9 +43,9 @@ const ajv = (addFormats.default || addFormats)(new (Ajv.default || Ajv)({ useDef
45
43
  'relative-json-pointer',
46
44
  'regex',
47
45
  ]);
48
- /**
49
- * Router class
50
- */
46
+ const notFoundHandler = (c) => {
47
+ return new Response('Not Found', { status: 404 });
48
+ };
51
49
  export class Spiceflow {
52
50
  /** @internal */
53
51
  getAllRoutes() {
@@ -68,7 +66,7 @@ export class Spiceflow {
68
66
  let validateQuery = getValidateFunction(hooks === null || hooks === void 0 ? void 0 : hooks.query);
69
67
  let validateParams = getValidateFunction(hooks === null || hooks === void 0 ? void 0 : hooks.params);
70
68
  const store = this.router.register(path);
71
- let route = Object.assign(Object.assign({}, rest), { prefix: this.prefix || '', method: (method || ''), path: path || '', handler: handler, hooks,
69
+ let route = Object.assign(Object.assign({}, rest), { method: (method || ''), path: path || '', handler: handler, hooks,
72
70
  validateBody,
73
71
  validateParams,
74
72
  validateQuery });
@@ -77,6 +75,7 @@ export class Spiceflow {
77
75
  }
78
76
  match(method, path) {
79
77
  let root = this;
78
+ let foundApp;
80
79
  const result = bfsFind(this, (app) => {
81
80
  app.topLevelApp = root;
82
81
  let prefix = this.getAppAndParents(app)
@@ -91,6 +90,7 @@ export class Spiceflow {
91
90
  }
92
91
  const medleyRoute = app.router.find(pathWithoutPrefix);
93
92
  if (!medleyRoute) {
93
+ foundApp = app;
94
94
  return;
95
95
  }
96
96
  let internalRoute = medleyRoute.store[method];
@@ -103,8 +103,43 @@ export class Spiceflow {
103
103
  };
104
104
  return res;
105
105
  }
106
+ if (method === 'HEAD') {
107
+ let internalRouteGet = medleyRoute.store['GET'];
108
+ if (!(internalRouteGet === null || internalRouteGet === void 0 ? void 0 : internalRouteGet.handler)) {
109
+ return;
110
+ }
111
+ return {
112
+ app,
113
+ internalRoute: {
114
+ hooks: {},
115
+ handler: async (c) => {
116
+ const response = await internalRouteGet.handler(c);
117
+ if (response instanceof Response) {
118
+ return new Response('', {
119
+ status: response.status,
120
+ statusText: response.statusText,
121
+ headers: response.headers,
122
+ });
123
+ }
124
+ return new Response(null, { status: 200 });
125
+ },
126
+ method,
127
+ path,
128
+ },
129
+ params: medleyRoute.params,
130
+ };
131
+ }
132
+ });
133
+ return (result || {
134
+ app: foundApp || root,
135
+ internalRoute: {
136
+ hooks: {},
137
+ handler: notFoundHandler,
138
+ method,
139
+ path,
140
+ },
141
+ params: {},
106
142
  });
107
- return result;
108
143
  }
109
144
  state(name, value) {
110
145
  this.defaultStore[name] = value;
@@ -186,12 +221,6 @@ export class Spiceflow {
186
221
  this.onErrorHandlers.push(handler);
187
222
  return this;
188
223
  }
189
- /**
190
- * Pass a request through all matching route handles and return a response
191
- * @param request The `Request`
192
- * @param platform Platform specific context {@link Platform}
193
- * @returns The final `Response`
194
- */
195
224
  async handle(request) {
196
225
  var _a, _b, _c, _d, _e;
197
226
  let u = new URL(request.url, 'http://localhost');
@@ -206,19 +235,6 @@ export class Spiceflow {
206
235
  try {
207
236
  // Get all middleware and method specific routes in order
208
237
  const route = this.match(request.method, path);
209
- if (!route) {
210
- const error = new NotFoundError(`${path} not found`);
211
- const res = await this.runErrorHandlers({
212
- onErrorHandlers,
213
- error,
214
- request,
215
- });
216
- if (res)
217
- return res;
218
- return new Response(`Not Found`, {
219
- status: 404,
220
- });
221
- }
222
238
  onErrorHandlers = this.getAppsInScope(route.app).flatMap((x) => x.onErrorHandlers);
223
239
  let { params, app: { defaultStore }, } = route;
224
240
  const middlewares = this.getAppsInScope(route.app).flatMap((x) => x.middlewares);
@@ -284,12 +300,11 @@ export class Spiceflow {
284
300
  error: err,
285
301
  request,
286
302
  });
287
- if (res)
288
- return res;
289
303
  let status = (_e = err === null || err === void 0 ? void 0 : err.status) !== null && _e !== void 0 ? _e : 500;
290
- return new Response((err === null || err === void 0 ? void 0 : err.message) || 'Internal Server Error', {
304
+ res || (res = new Response((err === null || err === void 0 ? void 0 : err.message) || 'Internal Server Error', {
291
305
  status,
292
- });
306
+ }));
307
+ return res;
293
308
  }
294
309
  }
295
310
  async runErrorHandlers({ onErrorHandlers = [], error: err, request, }) {