3h-router
v2.0.5
Published
A simple router.
Downloads
172
Readme
3h-router
A simple router lib.
Features
- Gzip/Deflate support
- Main router and sub-routers
Example
main router
const Router = require('3h-router'),
router = new Router({ basePath: __dirname });
// You can get default values via Router.defaultOptions.
router.defaultPages.unshift('my-default-page.html');
router.subRouters.unshift('my-sub-router.js');
router.on('before', url => {
console.log(`[before] ${url}`);
// If there's any `before` event handler, then
// the routing will pause here, so remember to
// call router.route to continue the routing.
// In addition, if you want to forward the
// request, then just pass the target url.
router.route(url);
}).on('result', result => {
console.log(`[result] ${result.code}`);
}).on('error', err => {
console.log('An error occurred!');
console.error(err);
}).start(88);
console.log('Server started on port 88!');
sub-router
module.exports = router => {
const { response } = router;
response.writeHead(200, {
'Content-Type': 'text/html'
});
response.end('<h1>Generated by sub-router!</h1>');
};
APIs
Just read the declaration files in typings
to learn the APIs.