Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

appolo-route

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

appolo-route

fast routing

  • 7.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-71.43%
Maintainers
1
Weekly downloads
 
Created
Source

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

Keywords

FAQs

Package last updated on 19 Mar 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc