nxus-router

An express-based router for Nxus

Usage no npm install needed!

<script type="module">
  import nxusRouter from 'https://cdn.skypack.dev/nxus-router';
</script>

README

nxus-router

Router Module

Build Status

The Nxus router is an Express compatible web server and router for Nxus applications.

Installation

In your Nxus application:

> npm install nxus-router --save

Configuration Options

  'router': {
    'staticRoutesInSession': false, // Should static routes use sessions
    'sessionStoreName': 'file-store-session', // name of a registered session store name
    'bodyParserJsonOptions': {'limit': '1mb'}, // Config options for body parser json handling
    'bodyParserUrlEncodeOptions': {extended: true, limit: "1mb"}  // Config options for body parser urlencoded form handling
  }

Session store settings (like cookie maxAge, domain) are set per-session-store, e.g.

  'waterline_sessions': {
    'cookie': {
      'maxAge': 86400000,
      'domain': '.example.com'
    }
  }

Usage

Defining a route

import {router} from 'nxus-router'

router.route('/', (req, res) => {
  res.send('Hello World')
})

Alternatively, you can specify a HTTP method:

router.route('GET', '/', (req, res) => {
  res.send('Hello World')
})

Adding Express/connect middleware

router.middleware((req, res) => {
  res.status(404).send('Nothing to see here')
})

Adding static files/directories

router.staticRoute("/my-prefix", myPath)

For example, myFile.txt in myPath is then available at the url /my-prefix/myFile.txt

Router

Extends NxusModule

Router provides Express based HTTP routing

Examples

import {router} from 'nxus-router'

getRoutes

Returns the internal routing table.

Returns array routes which have been registered

getExpressApp

Returns the Express App instance.

Returns Instance ExpressJs app instance.

sessionMiddleware

Sets the middleware handler for sessions, first in the configured stack

Parameters

  • name string If config names a session handler, only that name will be accepted
  • handler function An ExpressJs type callback to handle the route.

middleware

Adds a middleware handler to the internal routing table passed to Express

Parameters

  • route string A URL route or the handler for all routes
  • handler function An ExpressJs type callback to handle the route.
  • method string? optional HTTP method, defaults to all ('use') (optional, default 'use')

route

Adds a route to express.

Parameters

  • method string? Either 'get', 'post', 'put' or 'delete'. Defaults to 'get'.
  • route string A URL route.
  • handler function An ExpressJs type callback to handle the route.

staticRoute

Adds a path to serve static files.

Parameters

  • prefix string The path at which the static files will be accessible. For example: "/js"
  • path string A fully resolved path.