Update README.md
This commit is contained in:
68
README.md
68
README.md
@@ -32,14 +32,14 @@ I worked a lot with [Express.js](https://expressjs.com/) in the past and really
|
|||||||
import { Router } from '@tsndr/cloudflare-worker-router'
|
import { Router } from '@tsndr/cloudflare-worker-router'
|
||||||
|
|
||||||
export interface Env {
|
export interface Env {
|
||||||
// Example binding to KV. Learn more at https://developers.cloudflare.com/workers/runtime-apis/kv/
|
// Example binding to KV. Learn more at https://developers.cloudflare.com/workers/runtime-apis/kv/
|
||||||
// MY_KV_NAMESPACE: KVNamespace;
|
// MY_KV_NAMESPACE: KVNamespace;
|
||||||
//
|
//
|
||||||
// Example binding to Durable Object. Learn more at https://developers.cloudflare.com/workers/runtime-apis/durable-objects/
|
// Example binding to Durable Object. Learn more at https://developers.cloudflare.com/workers/runtime-apis/durable-objects/
|
||||||
// MY_DURABLE_OBJECT: DurableObjectNamespace;
|
// MY_DURABLE_OBJECT: DurableObjectNamespace;
|
||||||
//
|
//
|
||||||
// Example binding to R2. Learn more at https://developers.cloudflare.com/workers/runtime-apis/r2/
|
// Example binding to R2. Learn more at https://developers.cloudflare.com/workers/runtime-apis/r2/
|
||||||
// MY_BUCKET: R2Bucket;
|
// MY_BUCKET: R2Bucket;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -51,59 +51,59 @@ router.cors()
|
|||||||
|
|
||||||
// Register global middleware
|
// Register global middleware
|
||||||
router.use(({ req, res, next }) => {
|
router.use(({ req, res, next }) => {
|
||||||
res.headers.set('X-Global-Middlewares', 'true')
|
res.headers.set('X-Global-Middlewares', 'true')
|
||||||
next()
|
next()
|
||||||
})
|
})
|
||||||
|
|
||||||
// Simple get
|
// Simple get
|
||||||
router.get('/user', ({ req, res }) => {
|
router.get('/user', ({ req, res }) => {
|
||||||
res.body = {
|
res.body = {
|
||||||
data: {
|
data: {
|
||||||
id: 1,
|
id: 1,
|
||||||
name: 'John Doe'
|
name: 'John Doe'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
// Post route with url parameter
|
// Post route with url parameter
|
||||||
router.post('/user/:id', ({ req, res }) => {
|
router.post('/user/:id', ({ req, res }) => {
|
||||||
|
|
||||||
const userId = req.params.id
|
const userId = req.params.id
|
||||||
|
|
||||||
// Do stuff...
|
// Do stuff...
|
||||||
|
|
||||||
if (errorDoingStuff) {
|
if (errorDoingStuff) {
|
||||||
res.status = 400
|
res.status = 400
|
||||||
res.body = {
|
res.body = {
|
||||||
error: 'User did stupid stuff!'
|
error: 'User did stupid stuff!'
|
||||||
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
res.status = 204
|
res.status = 204
|
||||||
})
|
})
|
||||||
|
|
||||||
// Delete route using a middleware
|
// Delete route using a middleware
|
||||||
router.delete('/user/:id', ({ req, res, next }) => {
|
router.delete('/user/:id', ({ req, res, next }) => {
|
||||||
|
|
||||||
if (!apiTokenIsCorrect) {
|
if (!apiTokenIsCorrect) {
|
||||||
res.status = 401
|
res.status = 401
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
await next()
|
await next()
|
||||||
}, (req, res) => {
|
}, (req, res) => {
|
||||||
|
|
||||||
const userId = req.params.id
|
const userId = req.params.id
|
||||||
|
|
||||||
// Do stuff...
|
// Do stuff...
|
||||||
})
|
})
|
||||||
|
|
||||||
// Listen Cloudflare Workers Fetch Event
|
// Listen Cloudflare Workers Fetch Event
|
||||||
export default {
|
export default {
|
||||||
async fetch(request, env) {
|
async fetch(request: Request, env: Env): Promise<Response> {
|
||||||
return router.handle(env, request)
|
return router.handle(env, request)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user