kraken-js
Version:
An express-based Node.js web application bootstrapping module.
39 lines (32 loc) • 2.33 kB
JavaScript
/*───────────────────────────────────────────────────────────────────────────*\
│ Copyright 2016 PayPal │
│ │
│hh ,'""`. │
│ / _ _ \ Licensed under the Apache License, Version 2.0 (the "License"); │
│ |(@)(@)| you may not use this file except in compliance with the License. │
│ ) __ ( You may obtain a copy of the License at │
│ /,'))((`.\ │
│(( (( )) )) http://www.apache.org/licenses/LICENSE-2.0 │
│ `\ `)(' /' │
│ │
│ Unless required by applicable law or agreed to in writing, software │
│ distributed under the License is distributed on an "AS IS" BASIS, │
│ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. │
│ See the License for the specific language governing permissions and │
│ limitations under the License. │
\*───────────────────────────────────────────────────────────────────────────*/
;
var deprecate = require('depd')('kraken-js/middleware/500');
var debug = require('debuglog')('kraken-js/middleware/500');
module.exports = deprecate.function(function serverError(template) {
return function serverError(err, req, res, next) {
debug('Server Error:', err.stack);
var model = { url: req.url, err: err, statusCode: 500 };
if (req.xhr) {
res.status(500).send(model);
} else {
res.status(500);
res.render(template, model);
}
};
}, 'see github.com/krakenjs/kraken-js/issues/359');