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

diet-router

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

diet-router

Simple, full featured, nestable router for diet.js

  • 1.0.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

diet-router

Simple, full featured, nestable router for diet.js

Supports all of diet's HTTP methods (namely get, post, put, patch, delete, and trace)

const server = require('diet')
const Router = require('diet-router')

const app = server()
Router.extend(app)

const router = Router()

app.route('/router', router)

router.get('/subroute', function ($) {
	$.end('response')
})

// accessible at /router/subroute

Add routes before or after calling route. This lets you write your routers in separate files

// router1.js
const router = Router()

router.get('/subroute', function ($) {
	$.end('response')
})

module.exports = router
// main.js
const router1 = require('./router1')

app.route('/route', router1)

If you don't want to extend diet's app object, you can skip calling Router.extend and call the router directly, passing the app object as the first argument

const router = Router()
router.get('/subroute', function ($) {
	$.end('response')
})
router(app, '/route')

Middleware

The router supports adding middleware to be run before each subroute. You can add it when calling Router or when calling app.route

const router = Router()
app.route('/path', function ($) {
	// this is middleware
	$.return()
}, barware, etcware, router)

Note that the router is the last argument passed

Alternatively:

const router = Router(fooware, barware, etcware)
app.route('/path', router)

Nested Routing

The router supports nesting a router within another router

const router1 = Router()
const router2 = Router()

app.route('/route', router1)

router1.route('/nested', router2)

router2.get('/subroute', function ($) {
	$.end('response')
})
// accessible at /route/nested/subroute

Middleware can be added anywhere along the chain

const router1 = Router()
const router2 = Router()

app.route('/route', fooware, router1)

router1.route('/nested', barware, router2)

router2.get('/subroute', bazware, function ($) {
	$.end('response')
})

// runs fooware, then barware, then bazware, and finally the function that returns the response

Contact

Bug reports, feature requests, and questions are all welcome. Just open a GitHub issue and I'll get back to you

Keywords

FAQs

Package last updated on 17 Mar 2018

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