1.0.1 • Published 6 years ago

mkserv-router v1.0.1

Weekly downloads
6
License
MIT
Repository
github
Last release
6 years ago

MkServ Router

Router Middleware for MkServ.
Because no router, no internet.

Example

Here's the example from the official MkServ repository:

const { mkServ, applyMiddleware, bodyMiddleware } = require('mkserv');
const { routerMiddleware, get, post } = require('mkserv-router');

const low = require('lowdb');
const FileSync = require('lowdb/adapters/FileSync');

const adapter = new FileSync('data/messages.json');
const db = low(adapter);

db.defaults({ messages: [] }).write();

mkServ()
  .middleware((req, res, next) => {
    console.log(`Incoming request ${req.url}`);
    next();
  })
  .middleware(
    routerMiddleware([
      get('/', (req, res) => {
        res.end('Hello, World!');
      }),
      get('/messages', (req, res) => {
        res.end(JSON.stringify(db.get('messages').value()));
      }),
      post(
        '/messages',
        applyMiddleware([bodyMiddleware()], (req, res) => {
          db.get('messages')
            .push(JSON.parse(req.body))
            .write();
          res.end('ok');
        })
      )
    ])
  )
  .listen(8080, () => {
    console.log('Server listening on port 8080.');
  });

API

routerMiddleware(routes: Array<{ method: string, url: string, handler: (res, res, next) => void }>): (res, req, next) => void

Middleware to handle Routes

Parameters

  • routes: Array<{ method: string, url: string, handler: (res, res, next) => void }> - An array of Routes

Returns (req, res, next) => void

Example

mkServ()
  .middleware(routerMiddleware([
    get('/', (req, res) => {
      res.end('Hello, World!');
    })
  ]))
  ...

get(url: string, handler: (req, res, next) => void): { method: string, url: string, handler: (req, res, next) => void }

GET route helper function

Parameters

  • url: string - The URL for the route
  • handler: (req, res, next) => void - Function to call when route gets requested

Example

mkServ()
  .middleware(routerMiddleware([
    get('/', (req, res) => {
      res.end('Hello, World!');
    })
  ]))
  ...

post(url: string, handler: (req, res, next) => void): { method: string, url: string, handler: (req, res, next) => void }

POST route helper function

Parameters

  • url: string - The URL for the route
  • handler: (req, res, next) => void - Function to call when route gets requested

Example

mkServ()
  .middleware(routerMiddleware([
    post('/', (req, res) => {
      res.end('Hello, World!');
    })
  ]))
  ...
1.0.1

6 years ago

1.0.0

7 years ago