123456789101112131415161718192021222324252627282930313233343536 |
- // generic error dispatching
- module.exports = function dispatch(opt, resources, page, httpStatusCode, err){
- // page available ?
- if (!resources.pages[page]){
- // use "internal server error" as default
- page = '500';
- httpStatusCode = null;
- }
- // extract page date
- // page found ? fallback in case http500 template not exists
- const pageData = resources.pages[page] || {
- title: 'Internal Server Error',
- message: 'Additionally, FileNotFound was encountered while trying to use an ErrorDocument to handle the request'
- };
- // create template variables
- const templateVars = Object.assign({}, {
- title: pageData.title,
- message: pageData.message,
- code: httpStatusCode || 500,
- language: opt.lang.substr(0, 2),
- error: err
- }, opt.payload);
- // debug error handler set ?
- if (opt.onError){
- opt.onError(templateVars);
- }
- return {
- pageData: pageData,
- templateVars: templateVars
- };
- }
|