JSPM

express-dynamic-middleware

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 318
  • Score
    100M100P100Q95284F
  • License MIT

To add, remove dynamic middlewares in runtime for express.

Package Exports

  • express-dynamic-middleware

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (express-dynamic-middleware) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

express-dynamic-middleware

To add, remove dynamic middleware in runtime for express.

More detail information in here.

Install

npm install express-dynamic-middleware

Usage

const express = require('express');

// import express-dynamic-middleware
const dynamicMiddleware = require('express-dynamic-middleware');


// create auth middleware
const auth = function(req, res, next) {
    if (req.get('Authorization') === 'Basic') {
        next();
    } else {
        res.status(401).end('Unauthorization');
    }
};

// create dynamic middleware
const dynamic = dynamicMiddleware.create(auth);

// create express app
const app = express();

// use the dynamic middleware
app.use(dynamic.handle());

// unuse auth middleware
dynamic.unuse(auth);

API

dynamicMiddleware.create([middlewares])

const dynamic = dynamicMiddleware.create(middlewares);

Use create to create dynamic middleware dynamic, the argument middlewares cloud be a middleware function like function(req, res, next){} or a middleware functions array like [function(req, res, next){}, function(req, res, next){};

dynamic

dynamic is created by dynamicMiddleware.create, it has some functions to manage the middlewares.

use

dynamic.use(function(req, res, next) {
    // do something
});

To call use function to add middleware in runtime.

unuse

const auth = function(req, res, next) {
    if (req.get('Authorization') === 'Basic') {
        next();
    } else {
        res.status(401).end('Unauthorization');
    }
};

// use auth middleware
dynamic.use(auth);

// remove the auth middleware
dynamic.unuse(auth);

To call unuse function to remove the middleware.

clean

const dynamic = dynamicMiddleware.create([function(){}, function(){}]);

// clean the dynamic middlewares
dynamic.clean();

To call clean function to remove all the middlewares

handle

const app = express();

// return the dynamic middlewares to the express app
app.use(dynamic.handle());

To call handle function to get the dynamic middleware function to the express app

get

const dynamic = dynamicMiddleware.create([function(){}, function(){}]);

console.log(dynamic.get()); // [function(){}, function(){}]
console.log(dynamic.get().length); // 2

dynamic.use(function() {});

console.log(dynamic.get().length); // 3

dynamic.clean();

console.log(dynamic.get()); // []
console.log(dynamic.get().length); // 0

To call get function to get the dynamic middleware stack.