@@ -93,6 +93,11 @@ extend(Raven.prototype, {
93
93
eventId = this . generateEventId ( ) ;
94
94
}
95
95
96
+ var domainContext = domain . active && domain . active . sentryContext || { } ;
97
+ kwargs . user = extend ( { } , this . _globalContext . user , domainContext . user , kwargs . user ) ;
98
+ kwargs . tags = extend ( { } , this . _globalContext . tags , domainContext . tags , kwargs . tags ) ;
99
+ kwargs . extra = extend ( { } , this . _globalContext . extra , domainContext . extra , kwargs . extra ) ;
100
+
96
101
kwargs . modules = utils . getModules ( ) ;
97
102
kwargs . server_name = kwargs . server_name || this . name ;
98
103
@@ -101,19 +106,12 @@ extend(Raven.prototype, {
101
106
}
102
107
103
108
kwargs . environment = kwargs . environment || this . environment ;
104
- kwargs . extra = extend ( { } , this . _globalContext . extra , kwargs . extra ) ;
105
- kwargs . tags = extend ( { } , this . _globalContext . tags , kwargs . tags ) ;
106
-
107
109
kwargs . logger = kwargs . logger || this . loggerName ;
108
110
kwargs . event_id = eventId ;
109
111
kwargs . timestamp = new Date ( ) . toISOString ( ) . split ( '.' ) [ 0 ] ;
110
112
kwargs . project = this . dsn . project_id ;
111
113
kwargs . platform = 'node' ;
112
114
113
- if ( this . _globalContext . user ) {
114
- kwargs . user = this . _globalContext . user || kwargs . user ;
115
- }
116
-
117
115
// Only include release information if it is set
118
116
if ( this . release ) {
119
117
kwargs . release = this . release ;
@@ -287,28 +285,21 @@ extend(Raven.prototype, {
287
285
} ,
288
286
289
287
setContext : function setContext ( ctx ) {
290
- if ( ! domain . active ) {
291
- utils . consoleAlert ( 'attempt to setContext outside context scope' ) ;
292
- } else {
288
+ if ( domain . active ) {
293
289
domain . active . sentryContext = ctx ;
290
+ } else {
291
+ this . _globalContext = ctx ;
294
292
}
293
+ return this ;
295
294
} ,
296
295
297
- // todo consider this naming; maybe "mergeContext" instead?
298
- updateContext : function updateContext ( ctx ) {
299
- if ( ! domain . active ) {
300
- utils . consoleAlert ( 'attempt to updateContext outside context scope' ) ;
301
- } else {
302
- domain . active . sentryContext = extend ( { } , domain . active . sentryContext , ctx ) ;
303
- }
296
+ mergeContext : function mergeContext ( ctx ) {
297
+ extend ( this . getContext ( ) , ctx ) ;
298
+ return this ;
304
299
} ,
305
300
306
301
getContext : function getContext ( ) {
307
- if ( ! domain . active ) {
308
- utils . consoleAlert ( 'attempt to getContext outside context scope' ) ;
309
- return null ;
310
- }
311
- return domain . active . sentryContext ;
302
+ return domain . active ? domain . active . sentryContext : this . _globalContext ;
312
303
} ,
313
304
314
305
/*
@@ -317,9 +308,8 @@ extend(Raven.prototype, {
317
308
* @param {object } user An object representing user data [optional]
318
309
* @return {Raven }
319
310
*/
320
- setUserContext : function setUserContext ( user ) {
321
- utils . consoleAlert ( 'setUserContext has been deprecated and will be removed in v2.0' ) ;
322
- this . _globalContext . user = user ;
311
+ setUserContext : function setUserContext ( ) {
312
+ utils . consoleAlert ( 'setUserContext has been deprecated and will be removed in v2.0; use setContext instead' ) ;
323
313
return this ;
324
314
} ,
325
315
@@ -329,9 +319,8 @@ extend(Raven.prototype, {
329
319
* @param {object } extra An object representing extra data [optional]
330
320
* @return {Raven }
331
321
*/
332
- setExtraContext : function setExtraContext ( extra ) {
333
- utils . consoleAlert ( 'setExtraContext has been deprecated and will be removed in v2.0' ) ;
334
- this . _globalContext . extra = extend ( { } , this . _globalContext . extra , extra ) ;
322
+ setExtraContext : function setExtraContext ( ) {
323
+ utils . consoleAlert ( 'setExtraContext has been deprecated and will be removed in v2.0; use setContext instead' ) ;
335
324
return this ;
336
325
} ,
337
326
@@ -341,9 +330,8 @@ extend(Raven.prototype, {
341
330
* @param {object } tags An object representing tags [optional]
342
331
* @return {Raven }
343
332
*/
344
- setTagsContext : function setTagsContext ( tags ) {
345
- utils . consoleAlert ( 'setTagsContext has been deprecated and will be removed in v2.0' ) ;
346
- this . _globalContext . tags = extend ( { } , this . _globalContext . tags , tags ) ;
333
+ setTagsContext : function setTagsContext ( ) {
334
+ utils . consoleAlert ( 'setTagsContext has been deprecated and will be removed in v2.0; use setContext instead' ) ;
347
335
return this ;
348
336
} ,
349
337
@@ -398,13 +386,9 @@ extend(Raven.prototype, {
398
386
if ( status < 500 ) return next ( err ) ;
399
387
400
388
var kwargs = parsers . parseRequest ( req ) ;
401
- if ( domain . active && domain . active . sentryContext ) {
402
- kwargs = extend ( kwargs , domain . active . sentryContext ) ;
403
- }
404
- return self . captureException ( err , kwargs , function ( sendErr , eventId ) {
405
- res . sentry = eventId ;
406
- next ( err ) ;
407
- } ) ;
389
+ var eventId = self . captureException ( err , kwargs ) ;
390
+ res . sentry = eventId ;
391
+ return next ( err ) ;
408
392
} ;
409
393
}
410
394
} ) ;
0 commit comments