vector-framework 1.1.1 → 1.2.0

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 (98) hide show
  1. package/README.md +87 -635
  2. package/dist/auth/protected.d.ts.map +1 -1
  3. package/dist/auth/protected.js.map +1 -1
  4. package/dist/cache/manager.d.ts.map +1 -1
  5. package/dist/cache/manager.js +2 -7
  6. package/dist/cache/manager.js.map +1 -1
  7. package/dist/cli/index.js +17 -62
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/option-resolution.d.ts +4 -0
  10. package/dist/cli/option-resolution.d.ts.map +1 -0
  11. package/dist/cli/option-resolution.js +28 -0
  12. package/dist/cli/option-resolution.js.map +1 -0
  13. package/dist/cli.js +2721 -617
  14. package/dist/constants/index.d.ts +3 -0
  15. package/dist/constants/index.d.ts.map +1 -1
  16. package/dist/constants/index.js +6 -0
  17. package/dist/constants/index.js.map +1 -1
  18. package/dist/core/config-loader.d.ts.map +1 -1
  19. package/dist/core/config-loader.js +2 -0
  20. package/dist/core/config-loader.js.map +1 -1
  21. package/dist/core/router.d.ts +41 -17
  22. package/dist/core/router.d.ts.map +1 -1
  23. package/dist/core/router.js +432 -153
  24. package/dist/core/router.js.map +1 -1
  25. package/dist/core/server.d.ts +14 -1
  26. package/dist/core/server.d.ts.map +1 -1
  27. package/dist/core/server.js +250 -30
  28. package/dist/core/server.js.map +1 -1
  29. package/dist/core/vector.d.ts +4 -3
  30. package/dist/core/vector.d.ts.map +1 -1
  31. package/dist/core/vector.js +21 -12
  32. package/dist/core/vector.js.map +1 -1
  33. package/dist/dev/route-generator.d.ts.map +1 -1
  34. package/dist/dev/route-generator.js.map +1 -1
  35. package/dist/dev/route-scanner.d.ts.map +1 -1
  36. package/dist/dev/route-scanner.js +1 -5
  37. package/dist/dev/route-scanner.js.map +1 -1
  38. package/dist/http.d.ts +14 -14
  39. package/dist/http.d.ts.map +1 -1
  40. package/dist/http.js +34 -41
  41. package/dist/http.js.map +1 -1
  42. package/dist/index.js +1314 -8
  43. package/dist/index.mjs +1314 -8
  44. package/dist/middleware/manager.d.ts.map +1 -1
  45. package/dist/middleware/manager.js +4 -0
  46. package/dist/middleware/manager.js.map +1 -1
  47. package/dist/openapi/docs-ui.d.ts +2 -0
  48. package/dist/openapi/docs-ui.d.ts.map +1 -0
  49. package/dist/openapi/docs-ui.js +1313 -0
  50. package/dist/openapi/docs-ui.js.map +1 -0
  51. package/dist/openapi/generator.d.ts +12 -0
  52. package/dist/openapi/generator.d.ts.map +1 -0
  53. package/dist/openapi/generator.js +273 -0
  54. package/dist/openapi/generator.js.map +1 -0
  55. package/dist/types/index.d.ts +70 -11
  56. package/dist/types/index.d.ts.map +1 -1
  57. package/dist/types/standard-schema.d.ts +118 -0
  58. package/dist/types/standard-schema.d.ts.map +1 -0
  59. package/dist/types/standard-schema.js +2 -0
  60. package/dist/types/standard-schema.js.map +1 -0
  61. package/dist/utils/cors.d.ts +13 -0
  62. package/dist/utils/cors.d.ts.map +1 -0
  63. package/dist/utils/cors.js +89 -0
  64. package/dist/utils/cors.js.map +1 -0
  65. package/dist/utils/path.d.ts +6 -0
  66. package/dist/utils/path.d.ts.map +1 -1
  67. package/dist/utils/path.js +5 -0
  68. package/dist/utils/path.js.map +1 -1
  69. package/dist/utils/schema-validation.d.ts +31 -0
  70. package/dist/utils/schema-validation.d.ts.map +1 -0
  71. package/dist/utils/schema-validation.js +77 -0
  72. package/dist/utils/schema-validation.js.map +1 -0
  73. package/dist/utils/validation.d.ts.map +1 -1
  74. package/dist/utils/validation.js +1 -0
  75. package/dist/utils/validation.js.map +1 -1
  76. package/package.json +13 -12
  77. package/src/auth/protected.ts +3 -13
  78. package/src/cache/manager.ts +4 -18
  79. package/src/cli/index.ts +19 -75
  80. package/src/cli/option-resolution.ts +40 -0
  81. package/src/constants/index.ts +7 -0
  82. package/src/core/config-loader.ts +3 -3
  83. package/src/core/router.ts +502 -156
  84. package/src/core/server.ts +327 -32
  85. package/src/core/vector.ts +49 -29
  86. package/src/dev/route-generator.ts +1 -3
  87. package/src/dev/route-scanner.ts +2 -9
  88. package/src/http.ts +85 -125
  89. package/src/middleware/manager.ts +4 -0
  90. package/src/openapi/assets/tailwindcdn.js +83 -0
  91. package/src/openapi/docs-ui.ts +1317 -0
  92. package/src/openapi/generator.ts +359 -0
  93. package/src/types/index.ts +104 -17
  94. package/src/types/standard-schema.ts +147 -0
  95. package/src/utils/cors.ts +101 -0
  96. package/src/utils/path.ts +6 -0
  97. package/src/utils/schema-validation.ts +123 -0
  98. package/src/utils/validation.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"route-generator.d.ts","sourceRoot":"","sources":["../../src/dev/route-generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,SAAkC;IAIlD,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0DjD,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAsBjE"}
1
+ {"version":3,"file":"route-generator.d.ts","sourceRoot":"","sources":["../../src/dev/route-generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,SAAkC;IAIlD,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDjD,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAsBjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"route-generator.js","sourceRoot":"","sources":["../../src/dev/route-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C,MAAM,OAAO,cAAc;IACjB,UAAU,CAAS;IAE3B,YAAY,UAAU,GAAG,+BAA+B;QACtD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAwB;QACrC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;QAE1D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,aAAa,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;iBAC9D,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;iBACnB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAE7B,MAAM,UAAU,GAAG,SAAS,WAAW,EAAE,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEvF,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;gBACjD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CACV,UAAU,UAAU,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,YAAY,IAAI,CAC/E,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,UAAU,UAAU,UAAU,YAAY,IAAI,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;iBAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC,YAAY,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC;YAChF,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBACpE,YAAY,CAAC,IAAI,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG;mBACD,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;;EAEzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGlB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;;;CAIxB,CAAC;QAEE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAwB;QAC5C,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC,CAAC;YAEH,YAAY,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI;aACxC,QAAQ;qBACA,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;UAC5D,CAAC,CAAC;QACR,CAAC;QAED,OAAO;;EAET,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;;GAEvB,CAAC;IACF,CAAC;CACF"}
1
+ {"version":3,"file":"route-generator.js","sourceRoot":"","sources":["../../src/dev/route-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"route-scanner.d.ts","sourceRoot":"","sources":["../../src/dev/route-scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAe9C;gBAEU,SAAS,SAAa,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE;IAMxD,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAqBvC,OAAO,CAAC,UAAU;YAwBJ,aAAa;IAiF3B,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI;CASjC"}
1
+ {"version":3,"file":"route-scanner.d.ts","sourceRoot":"","sources":["../../src/dev/route-scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAe9C;gBAEU,SAAS,SAAa,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE;IAMxD,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAqBvC,OAAO,CAAC,UAAU;YAwBJ,aAAa;IA0E3B,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI;CASjC"}
@@ -99,11 +99,7 @@ export class RouteScanner {
99
99
  if (name === 'default')
100
100
  continue;
101
101
  // Check for new RouteDefinition format
102
- if (value &&
103
- typeof value === 'object' &&
104
- 'entry' in value &&
105
- 'options' in value &&
106
- 'handler' in value) {
102
+ if (value && typeof value === 'object' && 'entry' in value && 'options' in value && 'handler' in value) {
107
103
  const routeDef = value;
108
104
  routes.push({
109
105
  name,
@@ -1 +1 @@
1
- {"version":3,"file":"route-scanner.js","sourceRoot":"","sources":["../../src/dev/route-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-scanner.js","sourceRoot":"","sources":["../../src/dev/route-scanner.ts"],"names":[],"mappings":"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"}
package/dist/http.d.ts CHANGED
@@ -1,19 +1,17 @@
1
- import { type IRequest, type RouteEntry } from 'itty-router';
2
- import type { CacheOptions, DefaultVectorTypes, GetAuthType, VectorRequest, VectorTypes } from './types';
3
- export interface ProtectedRequest<TTypes extends VectorTypes = DefaultVectorTypes> extends IRequest {
4
- authUser?: GetAuthType<TTypes>;
5
- }
6
- export declare const preflight: (request: Request) => Response | undefined, corsify: (response: Response, request?: Request) => Response;
7
- interface ExtendedApiOptions extends ApiOptions {
1
+ import type { CacheOptions, DefaultVectorTypes, InferRouteInputFromSchemaDefinition, RouteSchemaDefinition, VectorRequest, VectorTypes } from './types';
2
+ interface ExtendedApiOptions<TSchemaDef extends RouteSchemaDefinition | undefined = RouteSchemaDefinition | undefined> extends ApiOptions<TSchemaDef> {
8
3
  method: string;
9
4
  path: string;
10
5
  }
11
- export interface RouteDefinition<TTypes extends VectorTypes = DefaultVectorTypes> {
12
- entry: RouteEntry;
13
- options: ExtendedApiOptions;
14
- handler: (req: VectorRequest<TTypes>) => Promise<unknown>;
6
+ export interface RouteDefinition<TTypes extends VectorTypes = DefaultVectorTypes, TValidatedInput = undefined, TSchemaDef extends RouteSchemaDefinition | undefined = RouteSchemaDefinition | undefined> {
7
+ entry: {
8
+ method: string;
9
+ path: string;
10
+ };
11
+ options: ExtendedApiOptions<TSchemaDef>;
12
+ handler: (req: VectorRequest<TTypes, TValidatedInput>) => Promise<unknown> | unknown;
15
13
  }
16
- export declare function route<TTypes extends VectorTypes = DefaultVectorTypes>(options: ExtendedApiOptions, fn: (req: VectorRequest<TTypes>) => Promise<unknown>): RouteDefinition<TTypes>;
14
+ export declare function route<TTypes extends VectorTypes = DefaultVectorTypes, TSchemaDef extends RouteSchemaDefinition | undefined = RouteSchemaDefinition | undefined>(options: ExtendedApiOptions<TSchemaDef>, fn: (req: VectorRequest<TTypes, InferRouteInputFromSchemaDefinition<TSchemaDef>>) => Promise<unknown> | unknown): RouteDefinition<TTypes, InferRouteInputFromSchemaDefinition<TSchemaDef>, TSchemaDef>;
17
15
  declare const ApiResponse: {
18
16
  success: <T>(data: T, contentType?: string) => Response;
19
17
  created: <T>(data: T, contentType?: string) => Response;
@@ -65,14 +63,16 @@ export declare const APIError: {
65
63
  };
66
64
  export declare function createResponse(statusCode: number, data?: unknown, contentType?: string): Response;
67
65
  export declare const protectedRoute: <TTypes extends VectorTypes = DefaultVectorTypes>(request: VectorRequest<TTypes>, responseContentType?: string) => Promise<void>;
68
- export interface ApiOptions {
66
+ export interface ApiOptions<TSchemaDef extends RouteSchemaDefinition | undefined = RouteSchemaDefinition | undefined> {
69
67
  auth?: boolean;
70
68
  expose?: boolean;
71
69
  rawRequest?: boolean;
70
+ validate?: boolean;
72
71
  rawResponse?: boolean;
73
72
  cache?: CacheOptions | number | null;
74
73
  responseContentType?: string;
74
+ schema?: TSchemaDef;
75
75
  }
76
- export declare function api<TTypes extends VectorTypes = DefaultVectorTypes>(options: ApiOptions, fn: (request: VectorRequest<TTypes>) => Promise<unknown>): (request: IRequest) => Promise<unknown>;
76
+ export declare function api<TTypes extends VectorTypes = DefaultVectorTypes, TValidatedInput = undefined>(options: ApiOptions, fn: (request: VectorRequest<TTypes, TValidatedInput>) => Promise<unknown> | unknown): (request: Request) => Promise<unknown>;
77
77
  export default ApiResponse;
78
78
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/http.js CHANGED
@@ -1,45 +1,26 @@
1
- import { cors, withContent } from 'itty-router';
2
- import { buildRouteRegex } from './utils/path';
3
1
  import { CONTENT_TYPES, HTTP_STATUS } from './constants';
4
2
  import { getVectorInstance } from './core/vector';
5
- export const { preflight, corsify } = cors({
6
- origin: '*',
7
- credentials: true,
8
- allowHeaders: 'Content-Type, Authorization',
9
- allowMethods: 'GET, POST, PUT, PATCH, DELETE, OPTIONS',
10
- exposeHeaders: 'Authorization',
11
- maxAge: 86_400,
12
- });
13
3
  export function route(options, fn) {
14
- const handler = api(options, fn);
15
- const entry = [
16
- options.method.toUpperCase(),
17
- buildRouteRegex(options.path),
18
- [handler],
19
- options.path,
20
- ];
21
4
  return {
22
- entry,
5
+ entry: {
6
+ method: options.method.toUpperCase(),
7
+ path: options.path,
8
+ },
23
9
  options,
24
10
  handler: fn,
25
11
  };
26
12
  }
27
- function hasBigInt(value, depth = 0) {
28
- if (typeof value === 'bigint')
29
- return true;
30
- if (depth > 4 || value === null || typeof value !== 'object')
31
- return false;
32
- for (const v of Object.values(value)) {
33
- if (hasBigInt(v, depth + 1))
34
- return true;
35
- }
36
- return false;
37
- }
38
13
  function stringifyData(data) {
39
14
  const val = data ?? null;
40
- if (!hasBigInt(val))
15
+ try {
41
16
  return JSON.stringify(val);
42
- return JSON.stringify(val, (_key, value) => typeof value === 'bigint' ? value.toString() : value);
17
+ }
18
+ catch (e) {
19
+ if (e instanceof TypeError && /\bbigint\b/i.test(e.message)) {
20
+ return JSON.stringify(val, (_key, value) => (typeof value === 'bigint' ? value.toString() : value));
21
+ }
22
+ throw e;
23
+ }
43
24
  }
44
25
  const ApiResponse = {
45
26
  success: (data, contentType) => createResponse(HTTP_STATUS.OK, data, contentType),
@@ -111,7 +92,6 @@ export function createResponse(statusCode, data, contentType = CONTENT_TYPES.JSO
111
92
  });
112
93
  }
113
94
  export const protectedRoute = async (request, responseContentType) => {
114
- // Get the Vector instance to access the protected handler
115
95
  const vector = getVectorInstance();
116
96
  const protectedHandler = vector.getProtectedHandler();
117
97
  if (!protectedHandler) {
@@ -127,29 +107,42 @@ export const protectedRoute = async (request, responseContentType) => {
127
107
  };
128
108
  export function api(options, fn) {
129
109
  const { auth = false, expose = false, rawRequest = false, rawResponse = false, responseContentType = CONTENT_TYPES.JSON, } = options;
130
- // For backward compatibility with direct route usage (not auto-discovered)
131
- // This wrapper is only used when routes are NOT auto-discovered
132
110
  return async (request) => {
111
+ const req = request;
133
112
  if (!expose) {
134
113
  return APIError.forbidden('Forbidden');
135
114
  }
136
115
  try {
137
116
  if (auth) {
138
- await protectedRoute(request, responseContentType);
117
+ await protectedRoute(req, responseContentType);
139
118
  }
140
- if (!rawRequest) {
141
- await withContent(request);
119
+ if (!rawRequest && req.method !== 'GET' && req.method !== 'HEAD') {
120
+ try {
121
+ const contentType = req.headers.get('content-type');
122
+ if (contentType?.startsWith('application/json')) {
123
+ req.content = await req.json();
124
+ }
125
+ else if (contentType?.startsWith('application/x-www-form-urlencoded')) {
126
+ req.content = Object.fromEntries(await req.formData());
127
+ }
128
+ else if (contentType?.startsWith('multipart/form-data')) {
129
+ req.content = await req.formData();
130
+ }
131
+ else {
132
+ req.content = await req.text();
133
+ }
134
+ }
135
+ catch {
136
+ req.content = null;
137
+ }
142
138
  }
143
- // Cache handling is now done in the router
144
- const result = await fn(request);
139
+ const result = await fn(req);
145
140
  return rawResponse ? result : ApiResponse.success(result, responseContentType);
146
141
  }
147
142
  catch (err) {
148
- // Ensure we return a Response object
149
143
  if (err instanceof Response) {
150
144
  return err;
151
145
  }
152
- // For non-Response errors, wrap them
153
146
  return APIError.internalServerError(String(err), responseContentType);
154
147
  }
155
148
  };
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}