rollbar 2.25.0 → 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 +133 -19
- package/dist/rollbar.js.map +1 -1
- package/dist/rollbar.min.js +1 -1
- package/dist/rollbar.min.js.map +1 -1
- package/dist/rollbar.named-amd.js +133 -19
- package/dist/rollbar.named-amd.js.map +1 -1
- package/dist/rollbar.named-amd.min.js +1 -1
- package/dist/rollbar.named-amd.min.js.map +1 -1
- package/dist/rollbar.noconflict.umd.js +133 -19
- package/dist/rollbar.noconflict.umd.js.map +1 -1
- package/dist/rollbar.noconflict.umd.min.js +1 -1
- package/dist/rollbar.noconflict.umd.min.js.map +1 -1
- package/dist/rollbar.snippet.js +1 -1
- package/dist/rollbar.umd.js +133 -19
- package/dist/rollbar.umd.js.map +1 -1
- package/dist/rollbar.umd.min.js +1 -1
- package/dist/rollbar.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/api.js +6 -1
- package/src/browser/shim.js +8 -1
- package/src/browser/telemetry.js +2 -1
- package/src/browser/transforms.js +12 -7
- package/src/defaults.js +1 -1
- package/src/utility/headers.js +94 -0
- package/test/browser.core.test.js +185 -147
- package/test/browser.rollbar.test.js +405 -241
- package/test/browser.transforms.test.js +15 -1
- package/test/react-native.rollbar.test.js +12 -8
|
@@ -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__(
|
|
1355
|
-
var wrapGlobals = __webpack_require__(
|
|
1354
|
+
var polyfillJSON = __webpack_require__(33);
|
|
1355
|
+
var wrapGlobals = __webpack_require__(35);
|
|
1356
1356
|
var scrub = __webpack_require__(4);
|
|
1357
|
-
var truncation = __webpack_require__(
|
|
1357
|
+
var truncation = __webpack_require__(36);
|
|
1358
1358
|
|
|
1359
1359
|
Rollbar.setComponents({
|
|
1360
1360
|
telemeter: telemeter,
|
|
@@ -2899,7 +2899,12 @@ function Api(options, transport, urllib, truncation, jsonBackup) {
|
|
|
2899
2899
|
Api.prototype.postItem = function(data, callback) {
|
|
2900
2900
|
var transportOptions = helpers.transportOptions(this.transportOptions, 'POST');
|
|
2901
2901
|
var payload = helpers.buildPayload(this.accessToken, data, this.jsonBackup);
|
|
2902
|
-
|
|
2902
|
+
var self = this;
|
|
2903
|
+
|
|
2904
|
+
// ensure the network request is scheduled after the current tick.
|
|
2905
|
+
setTimeout(function() {
|
|
2906
|
+
self.transport.post(self.accessToken, transportOptions, payload, callback);
|
|
2907
|
+
}, 0);
|
|
2903
2908
|
};
|
|
2904
2909
|
|
|
2905
2910
|
/**
|
|
@@ -3584,20 +3589,25 @@ function addBaseInfo(item, options, callback) {
|
|
|
3584
3589
|
|
|
3585
3590
|
function addRequestInfo(window) {
|
|
3586
3591
|
return function(item, options, callback) {
|
|
3587
|
-
|
|
3588
|
-
|
|
3592
|
+
var requestInfo = {};
|
|
3593
|
+
|
|
3594
|
+
if (window && window.location) {
|
|
3595
|
+
requestInfo.url = window.location.href;
|
|
3596
|
+
requestInfo.query_string = window.location.search;
|
|
3589
3597
|
}
|
|
3598
|
+
|
|
3590
3599
|
var remoteString = '$remote_ip';
|
|
3591
3600
|
if (!options.captureIp) {
|
|
3592
3601
|
remoteString = null;
|
|
3593
3602
|
} else if (options.captureIp !== true) {
|
|
3594
3603
|
remoteString += '_anonymize';
|
|
3595
3604
|
}
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
}
|
|
3605
|
+
if (remoteString) requestInfo.user_ip = remoteString;
|
|
3606
|
+
|
|
3607
|
+
if (Object.keys(requestInfo).length > 0) {
|
|
3608
|
+
_.set(item, 'data.request', requestInfo);
|
|
3609
|
+
}
|
|
3610
|
+
|
|
3601
3611
|
callback(null, item);
|
|
3602
3612
|
};
|
|
3603
3613
|
}
|
|
@@ -4581,7 +4591,7 @@ module.exports = {
|
|
|
4581
4591
|
|
|
4582
4592
|
|
|
4583
4593
|
module.exports = {
|
|
4584
|
-
version: '2.25.
|
|
4594
|
+
version: '2.25.2',
|
|
4585
4595
|
endpoint: 'api.rollbar.com/api/1/item/',
|
|
4586
4596
|
logLevel: 'debug',
|
|
4587
4597
|
reportLevel: 'debug',
|
|
@@ -4853,9 +4863,10 @@ module.exports = Telemeter;
|
|
|
4853
4863
|
|
|
4854
4864
|
|
|
4855
4865
|
var _ = __webpack_require__(0);
|
|
4866
|
+
var headers = __webpack_require__(31);
|
|
4856
4867
|
var scrub = __webpack_require__(4);
|
|
4857
4868
|
var urlparser = __webpack_require__(2);
|
|
4858
|
-
var domUtil = __webpack_require__(
|
|
4869
|
+
var domUtil = __webpack_require__(32);
|
|
4859
4870
|
|
|
4860
4871
|
var defaults = {
|
|
4861
4872
|
network: true,
|
|
@@ -5216,7 +5227,7 @@ Instrumenter.prototype.instrumentNetwork = function() {
|
|
|
5216
5227
|
if (args[1] && args[1].headers) {
|
|
5217
5228
|
// Argument may be a Headers object, or plain object. Ensure here that
|
|
5218
5229
|
// we are working with a Headers object with case-insensitive keys.
|
|
5219
|
-
var reqHeaders =
|
|
5230
|
+
var reqHeaders = headers(args[1].headers);
|
|
5220
5231
|
|
|
5221
5232
|
metadata.request_content_type = reqHeaders.get('Content-Type');
|
|
5222
5233
|
|
|
@@ -5629,6 +5640,109 @@ module.exports = Instrumenter;
|
|
|
5629
5640
|
"use strict";
|
|
5630
5641
|
|
|
5631
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
|
+
|
|
5632
5746
|
function getElementType(e) {
|
|
5633
5747
|
return (e.getAttribute('type') || '').toLowerCase();
|
|
5634
5748
|
}
|
|
@@ -5762,19 +5876,19 @@ module.exports = {
|
|
|
5762
5876
|
|
|
5763
5877
|
|
|
5764
5878
|
/***/ }),
|
|
5765
|
-
/*
|
|
5879
|
+
/* 33 */
|
|
5766
5880
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5767
5881
|
|
|
5768
5882
|
"use strict";
|
|
5769
5883
|
|
|
5770
5884
|
|
|
5771
|
-
var polyfillJSON = __webpack_require__(
|
|
5885
|
+
var polyfillJSON = __webpack_require__(34);
|
|
5772
5886
|
|
|
5773
5887
|
module.exports = polyfillJSON;
|
|
5774
5888
|
|
|
5775
5889
|
|
|
5776
5890
|
/***/ }),
|
|
5777
|
-
/*
|
|
5891
|
+
/* 34 */
|
|
5778
5892
|
/***/ (function(module, exports) {
|
|
5779
5893
|
|
|
5780
5894
|
// json3.js
|
|
@@ -6543,7 +6657,7 @@ module.exports = setupCustomJSON;
|
|
|
6543
6657
|
|
|
6544
6658
|
|
|
6545
6659
|
/***/ }),
|
|
6546
|
-
/*
|
|
6660
|
+
/* 35 */
|
|
6547
6661
|
/***/ (function(module, exports, __webpack_require__) {
|
|
6548
6662
|
|
|
6549
6663
|
"use strict";
|
|
@@ -6593,7 +6707,7 @@ module.exports = wrapGlobals;
|
|
|
6593
6707
|
|
|
6594
6708
|
|
|
6595
6709
|
/***/ }),
|
|
6596
|
-
/*
|
|
6710
|
+
/* 36 */
|
|
6597
6711
|
/***/ (function(module, exports, __webpack_require__) {
|
|
6598
6712
|
|
|
6599
6713
|
"use strict";
|