diff --git a/src/index.ts b/src/index.ts index 6125497..63c7a7d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -47,8 +47,13 @@ export type RouterRequest = { headers: Headers body: string | any raw: Request - cf?: IncomingRequestCfProperties + arrayBuffer(): Promise + text(): Promise + json(): Promise + formData(): Promise + blob(): Promise bearer: () => string + cf?: IncomingRequestCfProperties } & TExt /** @@ -388,15 +393,14 @@ export class Router { raw: request, params: {}, query: {}, - body: '', + arrayBuffer: request.arrayBuffer, + text: request.text, + json: request.json, + formData: request.formData, + blob: request.blob, bearer: () => request.headers.get('Authorization')?.replace(/^(B|b)earer /, '').trim() ?? '', } as RouterRequest - const route = this.getRoute(req) - - if (!route) - return new Response(this.debugMode ? 'Route not found!' : null, { status: 404 }) - if (this.corsEnabled && req.method === 'OPTIONS') { return new Response(null, { headers: this.setCorsHeaders(), @@ -404,6 +408,11 @@ export class Router { }) } + const route = this.getRoute(req) + + if (!route) + return new Response(this.debugMode ? 'Route not found!' : null, { status: 404 }) + const handlers = [...this.globalHandlers, ...route.handlers] const dbg = this.debugMode