1
0

3 Commits

Author SHA1 Message Date
307a93d86c 3.0.0-11 2023-02-21 15:45:20 +01:00
3a955af1bc fix cors edge case 2023-02-21 15:45:12 +01:00
db22422968 add arrayBuffer, text, formData, blob 2023-02-21 15:44:49 +01:00
3 changed files with 11 additions and 8 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@tsndr/cloudflare-worker-router",
"version": "3.0.0-10",
"version": "3.0.0-11",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@tsndr/cloudflare-worker-router",
"version": "3.0.0-10",
"version": "3.0.0-11",
"license": "MIT",
"devDependencies": {
"@cloudflare/workers-types": "^4.20230115.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@tsndr/cloudflare-worker-router",
"version": "3.0.0-10",
"version": "3.0.0-11",
"description": "",
"main": "index.js",
"types": "index.d.ts",

View File

@@ -36,6 +36,7 @@ export type RouterContext<TEnv = any, TExt = any> = {
* @property {RouterRequestParams} params Object containing all parameters defined in the url string
* @property {RouterRequestQuery} query Object containing all query parameters
* @property {Headers} headers Request headers object
* @property {Request} raw Raw Request Object
* @property {IncomingRequestCfProperties} [cf] object containing custom Cloudflare properties. (https://developers.cloudflare.com/workers/examples/accessing-the-cloudflare-object)
*/
export type RouterRequest<TExt> = {
@@ -391,11 +392,11 @@ export class Router<TEnv = any, TExt = any> {
raw: request,
params: {},
query: {},
arrayBuffer: request.arrayBuffer,
text: request.text,
arrayBuffer: (): Promise<ArrayBuffer> => request.arrayBuffer(),
text: (): Promise<string> => request.text(),
json: <T>(): Promise<T> => request.json<T>(),
formData: request.formData,
blob: request.blob,
formData: (): Promise<FormData> => request.formData(),
blob: (): Promise<Blob> => request.blob(),
bearer: () => request.headers.get('Authorization')?.replace(/^(B|b)earer /, '').trim() ?? '',
} as RouterRequest<TExt>
@@ -428,8 +429,10 @@ export class Router<TEnv = any, TExt = any> {
if (!response)
return new Response(this.debugMode ? 'Handler did not return a Response!' : null, { status: 404 })
if (this.corsEnabled)
if (this.corsEnabled) {
response = new Response(response.body, response)
this.setCorsHeaders(response.headers)
}
return response
}