3h-router
TypeScript icon, indicating that this package has built-in type declarations

2.0.5 • Public • Published

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.

Readme

Keywords

Package Sidebar

Install

npm i 3h-router

Weekly Downloads

1

Version

2.0.5

License

MIT

Unpacked Size

16.2 kB

Total Files

11

Last publish

Collaborators

  • 3h