Response timeout middleware for Koa and Lad (uses Boom by default)
npm:
npm install koa-better-timeout
yarn:
yarn add koa-better-timeout
Default middleware usage:
const Timeout = require('koa-better-timeout');
// ...
const timeout = new Timeout();
app.use(timeout.middleware);
Advanced middleware usage (e.g. using Lad and its @ladjs/i18n middleware) with translated response message:
const Timeout = require('koa-better-timeout');
// ...
const timeout = new Timeout({
message: ctx => ctx.translate('REQUEST_TIMED_OUT')
});
app.use(timeout.middleware);
You can optionally pass an object of options to Timeout(opts)
.
The default option values use Boom and are:
{
ms: 6000,
message: Boom.clientTimeout().message,
sendResponse: Boom.clientTimeout
}
Note that message
can be a function that accepts one argument ctx
. This is useful if you wish to use i18n translation for the response message.
Name | Website |
---|---|
Nick Baugh | http://niftylettuce.com/ |