1
0

5 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
0a73e4c32e 3.0.0-10 2023-02-05 02:11:19 +01:00
8bd8e50ee5 update 2023-02-05 02:11:09 +01:00
3 changed files with 12 additions and 11 deletions

4
package-lock.json generated
View File

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

View File

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

View File

@@ -36,7 +36,7 @@ export type RouterContext<TEnv = any, TExt = any> = {
* @property {RouterRequestParams} params Object containing all parameters defined in the url string * @property {RouterRequestParams} params Object containing all parameters defined in the url string
* @property {RouterRequestQuery} query Object containing all query parameters * @property {RouterRequestQuery} query Object containing all query parameters
* @property {Headers} headers Request headers object * @property {Headers} headers Request headers object
* @property {string | any} body Only available if method is `POST`, `PUT`, `PATCH` or `DELETE`. Contains either the received body string or a parsed object if valid JSON was sent. * @property {Request} raw Raw Request Object
* @property {IncomingRequestCfProperties} [cf] object containing custom Cloudflare properties. (https://developers.cloudflare.com/workers/examples/accessing-the-cloudflare-object) * @property {IncomingRequestCfProperties} [cf] object containing custom Cloudflare properties. (https://developers.cloudflare.com/workers/examples/accessing-the-cloudflare-object)
*/ */
export type RouterRequest<TExt> = { export type RouterRequest<TExt> = {
@@ -45,7 +45,6 @@ export type RouterRequest<TExt> = {
params: RouterRequestParams params: RouterRequestParams
query: RouterRequestQuery query: RouterRequestQuery
headers: Headers headers: Headers
body: string | any
raw: Request raw: Request
arrayBuffer(): Promise<ArrayBuffer> arrayBuffer(): Promise<ArrayBuffer>
text(): Promise<string> text(): Promise<string>
@@ -393,11 +392,11 @@ export class Router<TEnv = any, TExt = any> {
raw: request, raw: request,
params: {}, params: {},
query: {}, query: {},
arrayBuffer: request.arrayBuffer, arrayBuffer: (): Promise<ArrayBuffer> => request.arrayBuffer(),
text: request.text, text: (): Promise<string> => request.text(),
json: request.json, json: <T>(): Promise<T> => request.json<T>(),
formData: request.formData, formData: (): Promise<FormData> => request.formData(),
blob: request.blob, blob: (): Promise<Blob> => request.blob(),
bearer: () => request.headers.get('Authorization')?.replace(/^(B|b)earer /, '').trim() ?? '', bearer: () => request.headers.get('Authorization')?.replace(/^(B|b)earer /, '').trim() ?? '',
} as RouterRequest<TExt> } as RouterRequest<TExt>
@@ -430,8 +429,10 @@ export class Router<TEnv = any, TExt = any> {
if (!response) if (!response)
return new Response(this.debugMode ? 'Handler did not return a Response!' : null, { status: 404 }) 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) this.setCorsHeaders(response.headers)
}
return response return response
} }