rollbar 2.25.1 → 2.25.2

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