@@ -5,7 +5,9 @@ var extend = require('extend');
55var envIs = require ( '101/env-is' ) ;
66var pick = require ( '101/pick' ) ;
77var noop = require ( '101/noop' ) ;
8+ var find = require ( '101/find' ) ;
89var rollbar = require ( 'rollbar' ) ;
10+ var keypather = require ( 'keypather' ) ( ) ;
911if ( process . env . ROLLBAR_KEY ) {
1012 rollbar . init ( process . env . ROLLBAR_KEY , {
1113 environment : process . env . NODE_ENV || 'development' ,
@@ -15,7 +17,6 @@ if (process.env.ROLLBAR_KEY) {
1517 } ) ;
1618}
1719
18-
1920var error = module . exports = function ( code , msg , data ) {
2021 return Boom . create ( code , msg , data ) ;
2122} ;
@@ -94,6 +95,8 @@ function report (err) {
9495
9596error . log = function ( err , req ) {
9697 /*jshint maxdepth:5*/
98+ // if req was not passed look for it in domain members
99+ req = req || findReqFromDomain ( ) ;
97100 if ( ! err . isBoom ) {
98101 err = error ( 500 , 'unknown' , { err : err } ) ;
99102 err . reformat ( ) ;
@@ -243,3 +246,13 @@ error.errorHandler = function (err, req, res, next) {
243246error . isMongoAlreadyExistsError = function ( err ) {
244247 return err . code === 11000 || err . code === 11001 ;
245248} ;
249+
250+ // helpers
251+ function findReqFromDomain ( ) {
252+ if ( keypather . get ( process , 'domain.members.length' ) ) {
253+ var found = find ( process . domain . members , function ( member ) {
254+ return Boolean ( member . req ) ;
255+ } ) ;
256+ return found && found . req ;
257+ }
258+ }
0 commit comments