api-delay
![Build status](https://ci.appveyor.com/api/projects/status/1ca52luqybn9xm2t/branch/master?svg=true)
What?
- Deliberately cause a delayed http response in an express app.
Why?
- Simulate a slow api response to test front end handling.
- Throttle api access to abusers, non-premium users, etc.
How?
- Creates a function that can be used as app middleware or a route handler.
- Set the time and trigger options to customize the delayed call to next().
When?
Installation
npm install api-delay
Testing
npm test
Usage
'use strict';
const app = require('express')();
const { delayNext, delayNextIf } = require('api-delay');
const middleWareDelay = delayNext({ time: 200 });
const conditionalMiddleWareDelay = delayNextIf({
time: 500,
trigger: receiver => {
return !receiver.req.body.username;
}
});
app.use(middleWareDelay);
app.all('/somepath', [conditionalMiddleWareDelay], (req, res) => {
res.send('some_response');
});
See more usage in docs, examples, and tests