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.
@@ -1356,10 +1356,10 @@ module.exports = rollbar;
1356
1356
  var Rollbar = __webpack_require__(9);
1357
1357
  var telemeter = __webpack_require__(29);
1358
1358
  var instrumenter = __webpack_require__(30);
1359
- var polyfillJSON = __webpack_require__(32);
1360
- var wrapGlobals = __webpack_require__(34);
1359
+ var polyfillJSON = __webpack_require__(33);
1360
+ var wrapGlobals = __webpack_require__(35);
1361
1361
  var scrub = __webpack_require__(4);
1362
- var truncation = __webpack_require__(35);
1362
+ var truncation = __webpack_require__(36);
1363
1363
 
1364
1364
  Rollbar.setComponents({
1365
1365
  telemeter: telemeter,
@@ -3594,20 +3594,25 @@ function addBaseInfo(item, options, callback) {
3594
3594
 
3595
3595
  function addRequestInfo(window) {
3596
3596
  return function(item, options, callback) {
3597
- if (!window || !window.location) {
3598
- return callback(null, item);
3597
+ var requestInfo = {};
3598
+
3599
+ if (window && window.location) {
3600
+ requestInfo.url = window.location.href;
3601
+ requestInfo.query_string = window.location.search;
3599
3602
  }
3603
+
3600
3604
  var remoteString = '$remote_ip';
3601
3605
  if (!options.captureIp) {
3602
3606
  remoteString = null;
3603
3607
  } else if (options.captureIp !== true) {
3604
3608
  remoteString += '_anonymize';
3605
3609
  }
3606
- _.set(item, 'data.request', {
3607
- url: window.location.href,
3608
- query_string: window.location.search,
3609
- user_ip: remoteString
3610
- });
3610
+ if (remoteString) requestInfo.user_ip = remoteString;
3611
+
3612
+ if (Object.keys(requestInfo).length > 0) {
3613
+ _.set(item, 'data.request', requestInfo);
3614
+ }
3615
+
3611
3616
  callback(null, item);
3612
3617
  };
3613
3618
  }
@@ -4591,7 +4596,7 @@ module.exports = {
4591
4596
 
4592
4597
 
4593
4598
  module.exports = {
4594
- version: '2.25.1',
4599
+ version: '2.25.2',
4595
4600
  endpoint: 'api.rollbar.com/api/1/item/',
4596
4601
  logLevel: 'debug',
4597
4602
  reportLevel: 'debug',
@@ -4863,9 +4868,10 @@ module.exports = Telemeter;
4863
4868
 
4864
4869
 
4865
4870
  var _ = __webpack_require__(0);
4871
+ var headers = __webpack_require__(31);
4866
4872
  var scrub = __webpack_require__(4);
4867
4873
  var urlparser = __webpack_require__(2);
4868
- var domUtil = __webpack_require__(31);
4874
+ var domUtil = __webpack_require__(32);
4869
4875
 
4870
4876
  var defaults = {
4871
4877
  network: true,
@@ -5226,7 +5232,7 @@ Instrumenter.prototype.instrumentNetwork = function() {
5226
5232
  if (args[1] && args[1].headers) {
5227
5233
  // Argument may be a Headers object, or plain object. Ensure here that
5228
5234
  // we are working with a Headers object with case-insensitive keys.
5229
- var reqHeaders = new Headers(args[1].headers);
5235
+ var reqHeaders = headers(args[1].headers);
5230
5236
 
5231
5237
  metadata.request_content_type = reqHeaders.get('Content-Type');
5232
5238
 
@@ -5639,6 +5645,109 @@ module.exports = Instrumenter;
5639
5645
  "use strict";
5640
5646
 
5641
5647
 
5648
+ /*
5649
+ * headers - Detect when fetch Headers are undefined and use a partial polyfill.
5650
+ *
5651
+ * A full polyfill is not used in order to keep package size as small as possible.
5652
+ * Since this is only used internally and is not added to the window object,
5653
+ * the full interface doesn't need to be supported.
5654
+ *
5655
+ * This implementation is modified from whatwg-fetch:
5656
+ * https://github.com/github/fetch
5657
+ */
5658
+ function headers(headers) {
5659
+ if (typeof Headers === 'undefined') {
5660
+ return new FetchHeaders(headers);
5661
+ }
5662
+
5663
+ return new Headers(headers);
5664
+ }
5665
+
5666
+ function normalizeName(name) {
5667
+ if (typeof name !== 'string') {
5668
+ name = String(name)
5669
+ }
5670
+ return name.toLowerCase()
5671
+ }
5672
+
5673
+ function normalizeValue(value) {
5674
+ if (typeof value !== 'string') {
5675
+ value = String(value)
5676
+ }
5677
+ return value
5678
+ }
5679
+
5680
+ function iteratorFor(items) {
5681
+ var iterator = {
5682
+ next: function() {
5683
+ var value = items.shift()
5684
+ return {done: value === undefined, value: value}
5685
+ }
5686
+ }
5687
+
5688
+ return iterator
5689
+ }
5690
+
5691
+ function FetchHeaders(headers) {
5692
+ this.map = {}
5693
+
5694
+ if (headers instanceof FetchHeaders) {
5695
+ headers.forEach(function(value, name) {
5696
+ this.append(name, value)
5697
+ }, this)
5698
+ } else if (Array.isArray(headers)) {
5699
+ headers.forEach(function(header) {
5700
+ this.append(header[0], header[1])
5701
+ }, this)
5702
+ } else if (headers) {
5703
+ Object.getOwnPropertyNames(headers).forEach(function(name) {
5704
+ this.append(name, headers[name])
5705
+ }, this)
5706
+ }
5707
+ }
5708
+
5709
+ FetchHeaders.prototype.append = function(name, value) {
5710
+ name = normalizeName(name)
5711
+ value = normalizeValue(value)
5712
+ var oldValue = this.map[name]
5713
+ this.map[name] = oldValue ? oldValue + ', ' + value : value
5714
+ }
5715
+
5716
+ FetchHeaders.prototype.get = function(name) {
5717
+ name = normalizeName(name)
5718
+ return this.has(name) ? this.map[name] : null
5719
+ }
5720
+
5721
+ FetchHeaders.prototype.has = function(name) {
5722
+ return this.map.hasOwnProperty(normalizeName(name))
5723
+ }
5724
+
5725
+ FetchHeaders.prototype.forEach = function(callback, thisArg) {
5726
+ for (var name in this.map) {
5727
+ if (this.map.hasOwnProperty(name)) {
5728
+ callback.call(thisArg, this.map[name], name, this)
5729
+ }
5730
+ }
5731
+ }
5732
+
5733
+ FetchHeaders.prototype.entries = function() {
5734
+ var items = []
5735
+ this.forEach(function(value, name) {
5736
+ items.push([name, value])
5737
+ })
5738
+ return iteratorFor(items)
5739
+ }
5740
+
5741
+ module.exports = headers;
5742
+
5743
+
5744
+ /***/ }),
5745
+ /* 32 */
5746
+ /***/ (function(module, exports, __webpack_require__) {
5747
+
5748
+ "use strict";
5749
+
5750
+
5642
5751
  function getElementType(e) {
5643
5752
  return (e.getAttribute('type') || '').toLowerCase();
5644
5753
  }
@@ -5772,19 +5881,19 @@ module.exports = {
5772
5881
 
5773
5882
 
5774
5883
  /***/ }),
5775
- /* 32 */
5884
+ /* 33 */
5776
5885
  /***/ (function(module, exports, __webpack_require__) {
5777
5886
 
5778
5887
  "use strict";
5779
5888
 
5780
5889
 
5781
- var polyfillJSON = __webpack_require__(33);
5890
+ var polyfillJSON = __webpack_require__(34);
5782
5891
 
5783
5892
  module.exports = polyfillJSON;
5784
5893
 
5785
5894
 
5786
5895
  /***/ }),
5787
- /* 33 */
5896
+ /* 34 */
5788
5897
  /***/ (function(module, exports) {
5789
5898
 
5790
5899
  // json3.js
@@ -6553,7 +6662,7 @@ module.exports = setupCustomJSON;
6553
6662
 
6554
6663
 
6555
6664
  /***/ }),
6556
- /* 34 */
6665
+ /* 35 */
6557
6666
  /***/ (function(module, exports, __webpack_require__) {
6558
6667
 
6559
6668
  "use strict";
@@ -6603,7 +6712,7 @@ module.exports = wrapGlobals;
6603
6712
 
6604
6713
 
6605
6714
  /***/ }),
6606
- /* 35 */
6715
+ /* 36 */
6607
6716
  /***/ (function(module, exports, __webpack_require__) {
6608
6717
 
6609
6718
  "use strict";