Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
0a73e4c32e
|
|||
|
8bd8e50ee5
|
|||
|
e4ec06bf47
|
|||
|
2ad75dc3fb
|
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@tsndr/cloudflare-worker-router",
|
"name": "@tsndr/cloudflare-worker-router",
|
||||||
"version": "3.0.0-8",
|
"version": "3.0.0-10",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@tsndr/cloudflare-worker-router",
|
"name": "@tsndr/cloudflare-worker-router",
|
||||||
"version": "3.0.0-8",
|
"version": "3.0.0-10",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@cloudflare/workers-types": "^4.20230115.0",
|
"@cloudflare/workers-types": "^4.20230115.0",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@tsndr/cloudflare-worker-router",
|
"name": "@tsndr/cloudflare-worker-router",
|
||||||
"version": "3.0.0-8",
|
"version": "3.0.0-10",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
|||||||
25
src/index.ts
25
src/index.ts
@@ -36,7 +36,6 @@ 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 {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,10 +44,14 @@ export type RouterRequest<TExt> = {
|
|||||||
params: RouterRequestParams
|
params: RouterRequestParams
|
||||||
query: RouterRequestQuery
|
query: RouterRequestQuery
|
||||||
headers: Headers
|
headers: Headers
|
||||||
body: string | any
|
|
||||||
raw: Request
|
raw: Request
|
||||||
cf?: IncomingRequestCfProperties
|
arrayBuffer(): Promise<ArrayBuffer>
|
||||||
|
text(): Promise<string>
|
||||||
|
json<T>(): Promise<T>
|
||||||
|
formData(): Promise<FormData>
|
||||||
|
blob(): Promise<Blob>
|
||||||
bearer: () => string
|
bearer: () => string
|
||||||
|
cf?: IncomingRequestCfProperties
|
||||||
} & TExt
|
} & TExt
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -388,15 +391,14 @@ export class Router<TEnv = any, TExt = any> {
|
|||||||
raw: request,
|
raw: request,
|
||||||
params: {},
|
params: {},
|
||||||
query: {},
|
query: {},
|
||||||
body: '',
|
arrayBuffer: request.arrayBuffer,
|
||||||
|
text: request.text,
|
||||||
|
json: <T>(): Promise<T> => request.json<T>(),
|
||||||
|
formData: request.formData,
|
||||||
|
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>
|
||||||
|
|
||||||
const route = this.getRoute(req)
|
|
||||||
|
|
||||||
if (!route)
|
|
||||||
return new Response(this.debugMode ? 'Route not found!' : null, { status: 404 })
|
|
||||||
|
|
||||||
if (this.corsEnabled && req.method === 'OPTIONS') {
|
if (this.corsEnabled && req.method === 'OPTIONS') {
|
||||||
return new Response(null, {
|
return new Response(null, {
|
||||||
headers: this.setCorsHeaders(),
|
headers: this.setCorsHeaders(),
|
||||||
@@ -404,6 +406,11 @@ export class Router<TEnv = any, TExt = any> {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 handlers = [...this.globalHandlers, ...route.handlers]
|
||||||
const dbg = this.debugMode
|
const dbg = this.debugMode
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user