Stats

 Latest version : 2.0.5

 Last updated on 2018-12-28T19:36:50.773Z

 Keywords : router, route, server, 3h

 1 stars

 Downloads :

  • 416 in Last Month

 Links :

 Examples

¯\_(ツ)_/¯
No examples found for this package

 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.

 Comments