1.0.0 • Published 6 years ago

express-dynamic-middleware v1.0.0

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

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.