express-errors-handler
Advanced tools
Comparing version 1.3.0 to 1.4.0
62
main.js
@@ -1,11 +0,47 @@ | ||
/*jshint node:true*/ | ||
'use strict'; | ||
var logger = require('ft-next-logger'); | ||
const logger = require('ft-next-logger').logger; | ||
const fetchres = require('fetchres'); | ||
const raven = require('raven'); | ||
let ravenMiddleware; | ||
function sendErrorDev (err, req, res) { | ||
if (err.name === fetchres.ReadTimeoutError.name) { | ||
logger.error('event=dependencytimeout', err); | ||
res && res.status(504).send({ type: 'Bad Gateway', error: err }); | ||
} else { | ||
logger.error('event=uncaughterror', err); | ||
res && res.status(500).send({ type: 'Uncaught Error', error: err }); | ||
process.exit(1); | ||
} | ||
} | ||
function sendErrorProd (err, req, res) { | ||
if (err.name === fetchres.ReadTimeoutError.name) { | ||
logger.error('event=dependencytimeout', err); | ||
res && res.status(504).send({ type: 'Bad Gateway', error: err }); | ||
} else { | ||
return ravenMiddleware(err, req, res); | ||
} | ||
} | ||
function getUpstreamErrorHandler (errorReporter) { | ||
return function(res, statusCode) { | ||
return function(err) { | ||
if (err.name === fetchres.BadServerResponseError.name) { | ||
errorReporter(err); | ||
res.status(statusCode).end(); | ||
} else { | ||
errorReporter(err, null, res); | ||
} | ||
}; | ||
} | ||
} | ||
if (process.env.NODE_ENV === 'production') { | ||
var raven = require('raven'); | ||
var client = new raven.Client(process.env.RAVEN_URL); | ||
const client = new raven.Client(process.env.RAVEN_URL); | ||
module.exports = client; | ||
module.exports.middleware = raven.middleware.express(client); | ||
module.exports.middleware = sendErrorProd; | ||
module.exports.upstreamErrorHandler = getUpstreamErrorHandler(sendErrorProd); | ||
ravenMiddleware = raven.middleware.express(client); | ||
@@ -18,15 +54,9 @@ // Die on uncaughtException | ||
} else { | ||
module.exports = { | ||
captureMessage: function () { | ||
logger.warn.apply(logger, arguments); | ||
}, | ||
captureError: function () { | ||
logger.warn.apply(logger, arguments); | ||
}, | ||
middleware: function(err, req, res, next) { | ||
logger.error("Uncaught Error -", err); | ||
res.status(500).send({ type: "Uncaught Error", error: err }); | ||
process.exit(1); | ||
} | ||
captureMessage: logger.warn.bind(logger), | ||
captureError: logger.error.bind(logger), | ||
middleware: sendErrorDev, | ||
upstreamErrorHandler: getUpstreamErrorHandler(sendErrorDev) | ||
}; | ||
} |
{ | ||
"name": "express-errors-handler", | ||
"version": "1.3.0", | ||
"version": "1.4.0", | ||
"main": "main.js", | ||
@@ -11,9 +11,9 @@ "repository": { | ||
"dependencies": { | ||
"ft-next-logger": "^1.0.0", | ||
"raven": "^0.7.2" | ||
"fetchres": "^1.5.1", | ||
"ft-next-logger": "^3.0.0", | ||
"raven": "^0.8.1" | ||
}, | ||
"devDependencies": { | ||
"npm-prepublish": "^1.2.0", | ||
"origami-build-tools": "^2.13.0" | ||
"next-build-tools": "^4.1.2" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
3449
1
54
0
3
+ Addedfetchres@^1.5.1
+ Addedajv@6.12.6(transitive)
+ Addedasn1@0.2.6(transitive)
+ Addedassert-plus@1.0.0(transitive)
+ Addedasynckit@0.4.0(transitive)
+ Addedaws-sign2@0.7.0(transitive)
+ Addedaws4@1.13.0(transitive)
+ Addedbcrypt-pbkdf@1.0.2(transitive)
+ Addedcaseless@0.12.0(transitive)
+ Addedcombined-stream@1.0.8(transitive)
+ Addedcore-util-is@1.0.2(transitive)
+ Addeddashdash@1.14.1(transitive)
+ Addeddelayed-stream@1.0.0(transitive)
+ Addedecc-jsbn@0.1.2(transitive)
+ Addedextend@3.0.2(transitive)
+ Addedextsprintf@1.3.0(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
+ Addedfast-json-stable-stringify@2.1.0(transitive)
+ Addedfetchres@1.7.2(transitive)
+ Addedforever-agent@0.6.1(transitive)
+ Addedform-data@2.3.3(transitive)
+ Addedft-next-logger@3.0.1(transitive)
+ Addedgetpass@0.1.7(transitive)
+ Addedhar-schema@2.0.0(transitive)
+ Addedhar-validator@5.1.5(transitive)
+ Addedhttp-signature@1.2.0(transitive)
+ Addedis-typedarray@1.0.0(transitive)
+ Addedjsbn@0.1.1(transitive)
+ Addedjson-schema@0.4.0(transitive)
+ Addedjson-schema-traverse@0.4.1(transitive)
+ Addedjson-stringify-safe@5.0.1(transitive)
+ Addedjsprim@1.4.2(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedoauth-sign@0.9.0(transitive)
+ Addedperformance-now@2.1.0(transitive)
+ Addedpsl@1.9.0(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedqs@6.5.3(transitive)
+ Addedraven@0.8.1(transitive)
+ Addedrequest@2.88.2(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsshpk@1.18.0(transitive)
+ Addedtough-cookie@2.5.0(transitive)
+ Addedtunnel-agent@0.6.0(transitive)
+ Addedtweetnacl@0.14.5(transitive)
+ Addeduri-js@4.4.1(transitive)
+ Addeduuid@3.4.0(transitive)
+ Addedverror@1.10.0(transitive)
- Removedft-next-logger@1.1.2(transitive)
- Removedraven@0.7.3(transitive)
Updatedft-next-logger@^3.0.0
Updatedraven@^0.8.1