match-routes

2.0.0 • Public • Published

match-routes

a simple server-side router based on http-hash.

api

router.on(path, callback)

callback is called with three arguments, req, res, and options

The options object includes params, splat, and all the properties returned by url.parse() and will look something like this:

{ protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: null,
  query: null,
  pathname: '/oh/awesome',
  path: '/oh/awesome',
  href: '/oh/awesome',
  parse: [Function],
  format: [Function],
  resolve: [Function],
  resolveObject: [Function],
  parseHost: [Function],
  params: { id: 'awesome' },
  splat: null 
}

Example:

router.on('/', function (req, res, options) {
  console.log(options)
})

router.set(path, callback)

Alias to router.on().

router.match(req, res, opts)

http.createServer(function (req, res) {
  router.match(req, res)
})

example usage

var http = require('http')
var response = require('response')
var router = require('./index')()

router.on('/', function (req, res, options) {
  response().html('this route exists').pipe(res)
})

var server = http.createServer(function (req, res) {
  if (router.match(req, res)) return
  
  response().html('this route does not exist').pipe(res)
})

server.listen(8989)

Readme

Keywords

none

Package Sidebar

Install

npm i match-routes

Weekly Downloads

7

Version

2.0.0

License

none

Last publish

Collaborators

  • sethvincent