memorize-middleware
v4.0.0
Published
Cache req changes and apply them later
Downloads
351
Readme
memorize-middleware
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:
- No cache - all requests will be halted, while result is pending.
- Middleware failed and there is no cached value - Error will be passed to next middleware.
- 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:
- Middleware failed in update time - Nothing will happen, all clients will recieve previous version, new update will be scheduled.
- 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