Skip to content

diorahman/server-router

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

server-router stability

npm version build status test coverage downloads js-standard-style

Performant radix-trie router for streaming servers.

Usage

var serverRouter = require('server-router')
var http = require('http')

var router = serverRouter()

router.route('GET', '/hello', function (req, res, ctx) {
  res.end('hello world')
})

router.route('PUT', '/hello/:name', function (req, res, ctx) {
  res.end('hi there ' + ctx.params.name)
})

http.createServer(router.start()).listen()

API

router = serverRouter(opts)

Create a new router with opts:

  • default: (default: '/404') Path to default to when a route is not matched. If no default path is set, the router will crash when an unknown path is encountered.

router.route(function(req, res, ctx))

Register a new route. ctx is an object with .params property that contains any params. It's safe to extend ctx with other values for the duration of the request.

router.match(req, res)

Match a route on a router.

handler = router.start()

Return a function that can be passed directly to http.createServer() and calls router.match().

Installation

$ npm install server-router

See Also

License

MIT

About

Server router

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%