Koa middleware for Error Handling
This module can be used if you need an Error Handler for your Koa App.
Mount an Error Handler to your Koa app. If an error is caught, a JSON body will be used as response by default:
{
"statusCode": 500,
"error": "Internal Server Error",
"message": "An internal server error occurred"
}
If an HTML response is preferred when the "Accept" header is set to prefer HTML response, the middleware can be configured with html and renderHTML parameters to send an HTML response instead of the default JSON response.
npm install @sigfox/koa-error-handler
errorHandler({ renderHtml, html })
-
renderHTML
(Function
) (optional
): An asynchronous function returning a Promise resulting to a string representing an HTML page -
html
(String
) (optional
): A string representing an HTML page, used as fallback if renderHTML Promise is rejected or an error is thrown by renderHTML function.
const Koa = require('koa');
const errorHandler = require('@sigfox/koa-error-handler');
const html = '<!DOCTYPE html><html lang="en"><body></body></html>';
const app = new Koa()
.use(
errorHandler({
renderHTML: () => Promise.resolve(html),
html
})
)
.listen();
npm test
This project is licensed under the MIT License - see the LICENSE file for details.