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.
package/dist/rollbar.js CHANGED
@@ -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";