Times out the request in ms, defaulting to 5000. The method req.clearTimeout() is added to revert this behaviour programmatically within your application's middleware, routes, etc.
The timeout error is passed to next() so that you may customize the response behaviour. This error has the .timeout property as well as .status == 503.
Number ms
returns Function
Source
module.exports = function timeout(ms) {
ms = ms || 5000;
return function(req, res, next) {
var id = setTimeout(function(){
req.emit('timeout', ms);
}, ms);
req.on('timeout', function(){
if (res.headerSent) return debug('response started, cannot timeout');
var err = new Error('Response timeout');
err.timeout = ms;
err.status = 503;
next(err);
});
req.clearTimeout = function(){
clearTimeout(id);
};
res.on('header', function(){
clearTimeout(id);
});
next();
};
};
Timeout:
Times out the request in
ms
, defaulting to5000
. Themethod
req.clearTimeout()
is added to revert this behaviourprogrammatically within your application's middleware, routes, etc.
The timeout error is passed to
next()
so that you may customizethe response behaviour. This error has the
.timeout
property aswell as
.status == 503
.Source