appolo-route

7.0.1 • Public • Published

Appolo Route

Build Status Dependencies status NPM version npm Downloads Known Vulnerabilities

Fast and simple http routing using radix tree

Installation:

npm install appolo-route --save

Usage:

import {Router} from "appolo-route"
 
let router = new Router()
    .get("/test/:param", ()=>"working");
 
    output = router.find("GET" , "/test/test2");
 
    console.log(output.params.param) // test2
    console.log(output.handler()) // working
 

Router

Options

  • useCache - cache the find result by path, default : true
  • maxCacheSize - The maximum size of the cache routes, default: 1000
  • decodeUrlParams - true to decodeURIComponent params value, default: false

Static route

 
let router = new Router()
    .get("/test/test2", ()=>"working");
    .post("/test/test2", ()=>"working post");
 

Parametric route

 
let router = new Router()
    .get("/test/:userId/:userName", ()=>"working");

Wildcard route

 
let router = new Router()
.get("/*", ()=>"working");

Regex route

same syntax as path-to-regexp

 
let router = new Router()
.get("/test/:file(^\\d+).png", ()=>"working");

Api

find(method: Http.Methods, path: string): { params: Params, handler: any }

find route by path return object with params and handler if no params found return empty object

import {Router} from "appolo-route"
 
let router = new Router()
    .get("/users/:userId", (userId)=>console.log(userId));
 
    result = router.find("GET" , "/users/123");
 
    result.handler(result.params.userId) // 123
 

get(path: string, handler: any): Router

register new Route handler using Http.Get Method

post(path: string, handler: any): Router

register new Route handler using Http.Post Method

put(path: string, handler: any): Router

register new Route handler using Http.Put Method

patch(path: string, handler: any): Router

register new Route handler using Http.Put Method

patch(path: string, handler: any): Router

register new Route handler using Http.Patch Method

delete(path: string, handler: any): Router

register new Route handler using Http.Delete Method

head(path: string, handler: any): Router

register new Route handler using Http.Delete Method

add(method:Http.Methods | Http.Methods[], path: string, handler: any): Router

register new Route handler. multi methods supported

 
let router = new Router()
    .add(["POST","GET"],"/test/:param", ()=>"working");

remove(method:Http.Methods | Http.Methods[], path: string): Router

remove Route by path. multi methods supported

 
let router = new Router()
    .add(["POST","GET"],"/test/:param", ()=>"working")
    .remove("Get","/test/:param");

reset()

reset the router remove all routes

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i appolo-route

Weekly Downloads

12

Version

7.0.1

License

MIT

Unpacked Size

46.4 kB

Total Files

35

Last publish

Collaborators

  • shmoop207