@@ -1349,10 +1349,10 @@ module.exports = rollbar;
1349
1349
var Rollbar = __webpack_require__ ( 8 ) ;
1350
1350
var telemeter = __webpack_require__ ( 28 ) ;
1351
1351
var instrumenter = __webpack_require__ ( 29 ) ;
1352
- var polyfillJSON = __webpack_require__ ( 31 ) ;
1353
- var wrapGlobals = __webpack_require__ ( 33 ) ;
1352
+ var polyfillJSON = __webpack_require__ ( 32 ) ;
1353
+ var wrapGlobals = __webpack_require__ ( 34 ) ;
1354
1354
var scrub = __webpack_require__ ( 4 ) ;
1355
- var truncation = __webpack_require__ ( 34 ) ;
1355
+ var truncation = __webpack_require__ ( 35 ) ;
1356
1356
1357
1357
Rollbar . setComponents ( {
1358
1358
telemeter : telemeter ,
@@ -3587,20 +3587,25 @@ function addBaseInfo(item, options, callback) {
3587
3587
3588
3588
function addRequestInfo ( window ) {
3589
3589
return function ( item , options , callback ) {
3590
- if ( ! window || ! window . location ) {
3591
- return callback ( null , item ) ;
3590
+ var requestInfo = { } ;
3591
+
3592
+ if ( window && window . location ) {
3593
+ requestInfo . url = window . location . href ;
3594
+ requestInfo . query_string = window . location . search ;
3592
3595
}
3596
+
3593
3597
var remoteString = '$remote_ip' ;
3594
3598
if ( ! options . captureIp ) {
3595
3599
remoteString = null ;
3596
3600
} else if ( options . captureIp !== true ) {
3597
3601
remoteString += '_anonymize' ;
3598
3602
}
3599
- _ . set ( item , 'data.request' , {
3600
- url : window . location . href ,
3601
- query_string : window . location . search ,
3602
- user_ip : remoteString
3603
- } ) ;
3603
+ if ( remoteString ) requestInfo . user_ip = remoteString ;
3604
+
3605
+ if ( Object . keys ( requestInfo ) . length > 0 ) {
3606
+ _ . set ( item , 'data.request' , requestInfo ) ;
3607
+ }
3608
+
3604
3609
callback ( null , item ) ;
3605
3610
} ;
3606
3611
}
@@ -4584,7 +4589,7 @@ module.exports = {
4584
4589
4585
4590
4586
4591
module . exports = {
4587
- version : '2.25.1 ' ,
4592
+ version : '2.25.2 ' ,
4588
4593
endpoint : 'api.rollbar.com/api/1/item/' ,
4589
4594
logLevel : 'debug' ,
4590
4595
reportLevel : 'debug' ,
@@ -4856,9 +4861,10 @@ module.exports = Telemeter;
4856
4861
4857
4862
4858
4863
var _ = __webpack_require__ ( 0 ) ;
4864
+ var headers = __webpack_require__ ( 30 ) ;
4859
4865
var scrub = __webpack_require__ ( 4 ) ;
4860
4866
var urlparser = __webpack_require__ ( 2 ) ;
4861
- var domUtil = __webpack_require__ ( 30 ) ;
4867
+ var domUtil = __webpack_require__ ( 31 ) ;
4862
4868
4863
4869
var defaults = {
4864
4870
network : true ,
@@ -5219,7 +5225,7 @@ Instrumenter.prototype.instrumentNetwork = function() {
5219
5225
if ( args [ 1 ] && args [ 1 ] . headers ) {
5220
5226
// Argument may be a Headers object, or plain object. Ensure here that
5221
5227
// we are working with a Headers object with case-insensitive keys.
5222
- var reqHeaders = new Headers ( args [ 1 ] . headers ) ;
5228
+ var reqHeaders = headers ( args [ 1 ] . headers ) ;
5223
5229
5224
5230
metadata . request_content_type = reqHeaders . get ( 'Content-Type' ) ;
5225
5231
@@ -5632,6 +5638,109 @@ module.exports = Instrumenter;
5632
5638
"use strict" ;
5633
5639
5634
5640
5641
+ /*
5642
+ * headers - Detect when fetch Headers are undefined and use a partial polyfill.
5643
+ *
5644
+ * A full polyfill is not used in order to keep package size as small as possible.
5645
+ * Since this is only used internally and is not added to the window object,
5646
+ * the full interface doesn't need to be supported.
5647
+ *
5648
+ * This implementation is modified from whatwg-fetch:
5649
+ * https://github.com/github/fetch
5650
+ */
5651
+ function headers ( headers ) {
5652
+ if ( typeof Headers === 'undefined' ) {
5653
+ return new FetchHeaders ( headers ) ;
5654
+ }
5655
+
5656
+ return new Headers ( headers ) ;
5657
+ }
5658
+
5659
+ function normalizeName ( name ) {
5660
+ if ( typeof name !== 'string' ) {
5661
+ name = String ( name )
5662
+ }
5663
+ return name . toLowerCase ( )
5664
+ }
5665
+
5666
+ function normalizeValue ( value ) {
5667
+ if ( typeof value !== 'string' ) {
5668
+ value = String ( value )
5669
+ }
5670
+ return value
5671
+ }
5672
+
5673
+ function iteratorFor ( items ) {
5674
+ var iterator = {
5675
+ next : function ( ) {
5676
+ var value = items . shift ( )
5677
+ return { done : value === undefined , value : value }
5678
+ }
5679
+ }
5680
+
5681
+ return iterator
5682
+ }
5683
+
5684
+ function FetchHeaders ( headers ) {
5685
+ this . map = { }
5686
+
5687
+ if ( headers instanceof FetchHeaders ) {
5688
+ headers . forEach ( function ( value , name ) {
5689
+ this . append ( name , value )
5690
+ } , this )
5691
+ } else if ( Array . isArray ( headers ) ) {
5692
+ headers . forEach ( function ( header ) {
5693
+ this . append ( header [ 0 ] , header [ 1 ] )
5694
+ } , this )
5695
+ } else if ( headers ) {
5696
+ Object . getOwnPropertyNames ( headers ) . forEach ( function ( name ) {
5697
+ this . append ( name , headers [ name ] )
5698
+ } , this )
5699
+ }
5700
+ }
5701
+
5702
+ FetchHeaders . prototype . append = function ( name , value ) {
5703
+ name = normalizeName ( name )
5704
+ value = normalizeValue ( value )
5705
+ var oldValue = this . map [ name ]
5706
+ this . map [ name ] = oldValue ? oldValue + ', ' + value : value
5707
+ }
5708
+
5709
+ FetchHeaders . prototype . get = function ( name ) {
5710
+ name = normalizeName ( name )
5711
+ return this . has ( name ) ? this . map [ name ] : null
5712
+ }
5713
+
5714
+ FetchHeaders . prototype . has = function ( name ) {
5715
+ return this . map . hasOwnProperty ( normalizeName ( name ) )
5716
+ }
5717
+
5718
+ FetchHeaders . prototype . forEach = function ( callback , thisArg ) {
5719
+ for ( var name in this . map ) {
5720
+ if ( this . map . hasOwnProperty ( name ) ) {
5721
+ callback . call ( thisArg , this . map [ name ] , name , this )
5722
+ }
5723
+ }
5724
+ }
5725
+
5726
+ FetchHeaders . prototype . entries = function ( ) {
5727
+ var items = [ ]
5728
+ this . forEach ( function ( value , name ) {
5729
+ items . push ( [ name , value ] )
5730
+ } )
5731
+ return iteratorFor ( items )
5732
+ }
5733
+
5734
+ module . exports = headers ;
5735
+
5736
+
5737
+ /***/ } ) ,
5738
+ /* 31 */
5739
+ /***/ ( function ( module , exports , __webpack_require__ ) {
5740
+
5741
+ "use strict" ;
5742
+
5743
+
5635
5744
function getElementType ( e ) {
5636
5745
return ( e . getAttribute ( 'type' ) || '' ) . toLowerCase ( ) ;
5637
5746
}
@@ -5765,19 +5874,19 @@ module.exports = {
5765
5874
5766
5875
5767
5876
/***/ } ) ,
5768
- /* 31 */
5877
+ /* 32 */
5769
5878
/***/ ( function ( module , exports , __webpack_require__ ) {
5770
5879
5771
5880
"use strict" ;
5772
5881
5773
5882
5774
- var polyfillJSON = __webpack_require__ ( 32 ) ;
5883
+ var polyfillJSON = __webpack_require__ ( 33 ) ;
5775
5884
5776
5885
module . exports = polyfillJSON ;
5777
5886
5778
5887
5779
5888
/***/ } ) ,
5780
- /* 32 */
5889
+ /* 33 */
5781
5890
/***/ ( function ( module , exports ) {
5782
5891
5783
5892
// json3.js
@@ -6546,7 +6655,7 @@ module.exports = setupCustomJSON;
6546
6655
6547
6656
6548
6657
/***/ } ) ,
6549
- /* 33 */
6658
+ /* 34 */
6550
6659
/***/ ( function ( module , exports , __webpack_require__ ) {
6551
6660
6552
6661
"use strict" ;
@@ -6596,7 +6705,7 @@ module.exports = wrapGlobals;
6596
6705
6597
6706
6598
6707
/***/ } ) ,
6599
- /* 34 */
6708
+ /* 35 */
6600
6709
/***/ ( function ( module , exports , __webpack_require__ ) {
6601
6710
6602
6711
"use strict" ;
0 commit comments