improve billing error handling and reporting

pull/43/merge
Fabian Jakobs 2015-05-13 11:01:04 +00:00
rodzic 2fb3b36dca
commit 608fe30de7
1 zmienionych plików z 13 dodań i 4 usunięć

Wyświetl plik

@ -23,7 +23,7 @@ function plugin(options, imports, register) {
connect.useStart(function(req, res, next) { connect.useStart(function(req, res, next) {
var d = domain.create(); var d = domain.create();
d.on("error", function(err) { d.on("error", function(err) {
sendRequestError(errorClient, err, req); sendRequestError(err, req);
// from http://nodejs.org/api/domain.html // from http://nodejs.org/api/domain.html
try { try {
@ -55,11 +55,19 @@ function plugin(options, imports, register) {
var domain = socket._httpMessage && socket._httpMessage.domain; var domain = socket._httpMessage && socket._httpMessage.domain;
var req = domain && domain.members[0]; var req = domain && domain.members[0];
if (req && req.url) if (req && req.url)
sendRequestError(warningClient, new Error("Request timed out: " + req.url), req); sendRequestWarning(new Error("Request timed out: " + req.url), req);
}); });
function sendRequestError(raygunClient, err, req) { function sendRequestError(err, req) {
return _sendRequest(errorClient, err, req);
}
function sendRequestWarning(err, req) {
return _sendRequest(warningClient, err, req);
}
function _sendRequest(raygunClient, err, req) {
var parsedUrl = url.parse(req.url, false); var parsedUrl = url.parse(req.url, false);
var ip = req.remoteAddress; var ip = req.remoteAddress;
@ -90,6 +98,7 @@ function plugin(options, imports, register) {
} }
register(null, {"raygun.connect": { register(null, {"raygun.connect": {
sendRequestError: sendRequestError sendRequestError: sendRequestError,
sendRequestWarning: sendRequestWarning
}}); }});
} }