1
0

Merge branch 'main' into patch-1

This commit is contained in:
Toby Schneider
2022-01-18 10:53:59 +01:00
committed by GitHub
4 changed files with 12 additions and 10 deletions

View File

@@ -50,7 +50,8 @@ class Router {
* @property {Object<string, string>} params Object containing all parameters defined in the url string
* @property {Object<string, string>} query Object containing all query parameters
* @property {Object<string, string>} headers Object containing request headers
* @property {Object<string, string>|string} body Only available if method is `POST`, `PUT` or `PATCH`. Contains either the received body string or a parsed object if valid JSON was sent.
* @property {Object<string, string> | string} 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 {Object<string, string | number>} cf object containing custom Cloudflare properties. (https://developers.cloudflare.com/workers/examples/accessing-the-cloudflare-object)
*/
/**
@@ -59,7 +60,7 @@ class Router {
* @typedef RouterResponse
* @property {Object<string, string>} headers Object you can set response headers in
* @property {number} status Return status code (default: `204`)
* @property {Object<string, string>|string} body Either an `object` (will be converted to JSON) or a string
* @property {Object<string, string> | string} body Either an `object` (will be converted to JSON) or a string
*/
/**
@@ -262,7 +263,7 @@ class Router {
*
* @private
* @param {Request} request
* @returns {Route|undefined}
* @returns {Route | undefined}
*/
getRoute(request) {
const url = new URL(request.url)
@@ -300,7 +301,7 @@ class Router {
request = request.request
console.warn("Warning: Using `event` on `router.handle()` is deprecated and might go away in future versions, please use `event.request` instead.")
}
const req = { headers: request.headers, method: request.method, url: request.url }
const req = { headers: request.headers, method: request.method, url: request.url, cf: request.cf || {} }
req.params = []
if (req.method === 'OPTIONS' && Object.keys(this.corsConfig).length) {
return new Response(null, {
@@ -313,7 +314,7 @@ class Router {
status: this.corsConfig.optionsSuccessStatus
})
}
if (['POST', 'PUT', 'PATCH'].includes(req.method)) {
if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(req.method)) {
if (req.headers.has('Content-Type') && req.headers.get('Content-Type').includes('json')) {
try {
req.body = await request.json()