Router/README.md

59 lines
861 B
Markdown
Executable File

# BearMetal Router
A simple router for Deno.
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
## Usage
### Basics
```ts
import Router from '@bearmetal/router';
const router = new Router();
router
.route('/users')
.get((ctx) => {
return new Response('GET /users');
})
.post((ctx) => {
return new Response('POST /users');
});
Deno.serve(router.handle)
```
### Middleware
```ts
...
router.use('/users', async (ctx, next) => {
console.log('Executing middleware');
return await next();
});
...
```
### Nested Routers
```ts
...
const nestedRouter = new Router();
nestedRouter
.route('/users')
.get((ctx) => {
return new Response('GET /users');
})
.post((ctx) => {
return new Response('POST /users');
});
router.use('/users', nestedRouter);
...
```