Skip to content

A patch for @koa/router to search for or remove routes without restarting the process.

License

Notifications You must be signed in to change notification settings

daidr/koa-router-dynamic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A patch for @koa/router.

NPM version NPM Downloads Node.js Version

  • Search routes by path(s)
  • Search routes by custom handler
  • Remove routes without restarting the process

Installation

# npm .. 
npm i koa-router-dynamic
# yarn .. 
yarn add koa-router-dynamic

Usage

router.searchRoutesByPath(path) ⇒ Array.<Layer>

Search routes in the stack by path(s).

Kind: instance method of Router

Param Type Description
path String | Array.<String> Path string(Array).

Example

const Koa = require('koa');
const Router = require('@koa/router');
require('koa-router-dynamic');

const app = new Koa();
const router = new Router();

router.get("/example/:id", ctx => {
  ctx.body = "test";
})

app.use(router.routes());

console.log(router.searchRoutesByPath("/example/:id"));

router.searchRoutes(handler) ⇒ Array.<Layer>

Search routes in the stack by custom handler.

Kind: instance method of Router

Param Type Description
handler function Handler function.

Example

const Koa = require('koa');
const Router = require('@koa/router');
require('koa-router-dynamic');

const app = new Koa();
const router = new Router();

router.get("/example/:id", ctx => {
  ctx.body = "test";
})

app.use(router.routes());

console.log(router.searchRoutes(layer => layer.path === "/example/:id"));

router.removeAllRoutes() ⇒ Router

Remove all routes in the stack.

Kind: instance method of Router Example

const Koa = require('koa');
const Router = require('@koa/router');
require('koa-router-dynamic');

const app = new Koa();
const router = new Router();

router.get("/example/:id", ctx => {
  ctx.body = "test";
})

app.use(router.routes());

router.removeAllRoutes();

router.removeRoutes(layers) ⇒ Router

Remove routes in the stack.

Kind: instance method of Router

Param Type Description
layers Layer | Array.<Layer> layers to remove.

Example

const Koa = require('koa');
const Router = require('@koa/router');
require('koa-router-dynamic');

const app = new Koa();
const router = new Router();

router.get("/example/:id", ctx => {
  ctx.body = "test";
})

app.use(router.routes());

let routesToRemove = router.searchRoutes(layer => layer.path === "/example/:id");
router.removeRoutes(routesToRemove);

Contributing

Please submit all issues and pull requests to the daidr/koa-router-dynamic repository!

Support

If you have any problem or suggestion please open an issue here.

License

MIT

About

A patch for @koa/router to search for or remove routes without restarting the process.

Topics

Resources

License

Stars

Watchers

Forks