A simple router for routed response handlers.
Havana router subscribes to the
route.find event published
by a routed response handler. When it receives a
event it will iterate through the array of routes it was
instantiated with, attempting to match on the
method. If it matches a route Havana router will publish a
route.found event for the routed response handler to
consume. If it fails to match a route Havana router will
How to install
npm install havana-router
How to use
;;;const event = ;const reporting ='level': 2'reporter': consolelog;const server ='event': event'reporting': reporting;'event': event'reporting': reporting'routes':'url': '/''method': 'GET''content': 'Home page''url': '/about''method': 'GET''content': 'About page';// Add a routed response handler hereserver;
Events take the form of Havana event or a library with an interchangeable API.
route.found: Signifies that Havana router has matched a route, publishing the route data for consumption by a routed response handler.
route.error: Signifies that Havana router was unable to match a route.
route.find: Allows a routed response handler to notify Havana router that it wishes to receive route data that matches the published
Havana router is written using ES2015+ syntax.
However, by default this module will use an ES5 compatible file that has been compiled using Babel.
dist directory there are four files, the default
router.server.js. The default when using a client-side
bundler that supports the
Havana router currently requires the
You are expected to supply this yourself. However, as a
courtesy you will also find
router.browser.with-polyfill.js in the