2.0.0 • Published 10 years ago

route-emitter v2.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

route-emitter

Build Status

Dead-simple routing for node.

usage

var http = require('http'),
    Router = require('route-emitter').Router,
    router = new Router()

router.listen('get', '/', function (req, res) {
  res.end('Hello, world')
})

// listen for any http verb!
router.listen('post', '/blog', function (req, res) {
  res.end('BLOG CREATED!')
})

// or you can catch 404s
router.listen('*', '*', function (req, res) {
  res.writeHead(404)
  res.end('PAGE NOT FOUND!')
})

// ...or verb-specific 404s
router.listen('put', '*', function (req, res) {
  res.writeHead(404)
  res.end('RESOURCE NOT FOUND!')
})

// create a listener with named emitter!
router.listen('delete', '/blog', 'deleteThatBlog')

// react to the emit!
router.on('deleteThatBlog', function (req, res) {
  res.end('BLOG DELETED')
})

// catch named parameters!
router.listen('get', '/blog/{{ id }}', function (req, res, params) {
  res.end(params.id)
})

// catch splats!
router.listen('delete', '/*', function (req, res, params) {
  res.end(params._splat[0]) // || res.end(params._1)
})

// or roll your own regexp!
router.listen('patch', /my\/(.*)/, function (req, res, params) {
  res.end(params._captured[0]) // || res.end(params.$1)
})

http.createServer(router.route.bind(router)).listen(70707)

other info

order of operations

  • (verb)/path literal, if found
  • (verb)/path params || splat || regexp if found
  • (verb)/* if found
  • */path literal, if found
  • */path params || splat || regexp if found
  • */*
  • at this point, route-emitter does a last-ditch effort to find a handler and emits an event named (verb):(path). if no listeners are attached to that specific event, it logs an unmatched route to process.stdout

params values

  • params._splat array of splat results
  • params._1 - params._x 1-x splat results
  • params._captured array of captured results from custom RegExp
  • params.$1 - $params.$x 1-x captured results

license

MIT

2.0.0

10 years ago

1.3.6

10 years ago

1.3.5

10 years ago

1.3.4

10 years ago

1.3.3

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.0

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.0.5

11 years ago

0.0.4

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago