memorize-middleware

4.0.0 • Public • Published

memorize-middleware Build Status

Save changes, that middleware did on req and apply them after

Usage

var express = require('express');
var app = express();
var memorize = require('memorize-middleware');
 
var middleware = function (req, res, next) {
    console.log('Called once');
    req.message = 'Boop!';
    next();
};
 
app.use(memorize(middleware));
app.get('/', function (req, res, next) {
    res.send(req.message);
});
 
app.listen(8080);

States

There are couple states in which memorize works:

  1. No cache - all requests will be halted, while result is pending.
  2. Middleware failed and there is no cached value - Error will be passed to next middleware.
  3. Result recieved - It will be stored, all pending clients will get result, all next clients will get this result instantly. If updateInterval set - it will be scheduled.

If updateInterval is set:

  1. Middleware failed in update time - Nothing will happen, all clients will recieve previous version, new update will be scheduled.
  2. Result recieved in update time - Previous result will be swapped with new one.

API

memorize(middleware, [options])

Creates middleware, that will call middleware and cache changes, that it did to req object.

middleware

Type: Function

Middleware, which changes should be cached.

options

updateInterval

Type: Number
Default: 0 — never

How often (in milliseconds) should memorize request new data for middleware. Don't make it too low.

License

The MIT License (MIT) © Vsevolod Strukchinsky

Package Sidebar

Install

npm i memorize-middleware

Weekly Downloads

100

Version

4.0.0

License

MIT

Unpacked Size

5.35 kB

Total Files

4

Last publish

Collaborators

  • floatdrop