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
|
@@ -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__(
|
|
1360
|
-
var wrapGlobals = __webpack_require__(
|
|
1359
|
+
var polyfillJSON = __webpack_require__(33);
|
|
1360
|
+
var wrapGlobals = __webpack_require__(35);
|
|
1361
1361
|
var scrub = __webpack_require__(4);
|
|
1362
|
-
var truncation = __webpack_require__(
|
|
1362
|
+
var truncation = __webpack_require__(36);
|
|
1363
1363
|
|
|
1364
1364
|
Rollbar.setComponents({
|
|
1365
1365
|
telemeter: telemeter,
|
|
@@ -2904,7 +2904,12 @@ function Api(options, transport, urllib, truncation, jsonBackup) {
|
|
|
2904
2904
|
Api.prototype.postItem = function(data, callback) {
|
|
2905
2905
|
var transportOptions = helpers.transportOptions(this.transportOptions, 'POST');
|
|
2906
2906
|
var payload = helpers.buildPayload(this.accessToken, data, this.jsonBackup);
|
|
2907
|
-
|
|
2907
|
+
var self = this;
|
|
2908
|
+
|
|
2909
|
+
// ensure the network request is scheduled after the current tick.
|
|
2910
|
+
setTimeout(function() {
|
|
2911
|
+
self.transport.post(self.accessToken, transportOptions, payload, callback);
|
|
2912
|
+
}, 0);
|
|
2908
2913
|
};
|
|
2909
2914
|
|
|
2910
2915
|
/**
|
|
@@ -3589,20 +3594,25 @@ function addBaseInfo(item, options, callback) {
|
|
|
3589
3594
|
|
|
3590
3595
|
function addRequestInfo(window) {
|
|
3591
3596
|
return function(item, options, callback) {
|
|
3592
|
-
|
|
3593
|
-
|
|
3597
|
+
var requestInfo = {};
|
|
3598
|
+
|
|
3599
|
+
if (window && window.location) {
|
|
3600
|
+
requestInfo.url = window.location.href;
|
|
3601
|
+
requestInfo.query_string = window.location.search;
|
|
3594
3602
|
}
|
|
3603
|
+
|
|
3595
3604
|
var remoteString = '$remote_ip';
|
|
3596
3605
|
if (!options.captureIp) {
|
|
3597
3606
|
remoteString = null;
|
|
3598
3607
|
} else if (options.captureIp !== true) {
|
|
3599
3608
|
remoteString += '_anonymize';
|
|
3600
3609
|
}
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
}
|
|
3610
|
+
if (remoteString) requestInfo.user_ip = remoteString;
|
|
3611
|
+
|
|
3612
|
+
if (Object.keys(requestInfo).length > 0) {
|
|
3613
|
+
_.set(item, 'data.request', requestInfo);
|
|
3614
|
+
}
|
|
3615
|
+
|
|
3606
3616
|
callback(null, item);
|
|
3607
3617
|
};
|
|
3608
3618
|
}
|
|
@@ -4586,7 +4596,7 @@ module.exports = {
|
|
|
4586
4596
|
|
|
4587
4597
|
|
|
4588
4598
|
module.exports = {
|
|
4589
|
-
version: '2.25.
|
|
4599
|
+
version: '2.25.2',
|
|
4590
4600
|
endpoint: 'api.rollbar.com/api/1/item/',
|
|
4591
4601
|
logLevel: 'debug',
|
|
4592
4602
|
reportLevel: 'debug',
|
|
@@ -4858,9 +4868,10 @@ module.exports = Telemeter;
|
|
|
4858
4868
|
|
|
4859
4869
|
|
|
4860
4870
|
var _ = __webpack_require__(0);
|
|
4871
|
+
var headers = __webpack_require__(31);
|
|
4861
4872
|
var scrub = __webpack_require__(4);
|
|
4862
4873
|
var urlparser = __webpack_require__(2);
|
|
4863
|
-
var domUtil = __webpack_require__(
|
|
4874
|
+
var domUtil = __webpack_require__(32);
|
|
4864
4875
|
|
|
4865
4876
|
var defaults = {
|
|
4866
4877
|
network: true,
|
|
@@ -5221,7 +5232,7 @@ Instrumenter.prototype.instrumentNetwork = function() {
|
|
|
5221
5232
|
if (args[1] && args[1].headers) {
|
|
5222
5233
|
// Argument may be a Headers object, or plain object. Ensure here that
|
|
5223
5234
|
// we are working with a Headers object with case-insensitive keys.
|
|
5224
|
-
var reqHeaders =
|
|
5235
|
+
var reqHeaders = headers(args[1].headers);
|
|
5225
5236
|
|
|
5226
5237
|
metadata.request_content_type = reqHeaders.get('Content-Type');
|
|
5227
5238
|
|
|
@@ -5634,6 +5645,109 @@ module.exports = Instrumenter;
|
|
|
5634
5645
|
"use strict";
|
|
5635
5646
|
|
|
5636
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
|
+
|
|
5637
5751
|
function getElementType(e) {
|
|
5638
5752
|
return (e.getAttribute('type') || '').toLowerCase();
|
|
5639
5753
|
}
|
|
@@ -5767,19 +5881,19 @@ module.exports = {
|
|
|
5767
5881
|
|
|
5768
5882
|
|
|
5769
5883
|
/***/ }),
|
|
5770
|
-
/*
|
|
5884
|
+
/* 33 */
|
|
5771
5885
|
/***/ (function(module, exports, __webpack_require__) {
|
|
5772
5886
|
|
|
5773
5887
|
"use strict";
|
|
5774
5888
|
|
|
5775
5889
|
|
|
5776
|
-
var polyfillJSON = __webpack_require__(
|
|
5890
|
+
var polyfillJSON = __webpack_require__(34);
|
|
5777
5891
|
|
|
5778
5892
|
module.exports = polyfillJSON;
|
|
5779
5893
|
|
|
5780
5894
|
|
|
5781
5895
|
/***/ }),
|
|
5782
|
-
/*
|
|
5896
|
+
/* 34 */
|
|
5783
5897
|
/***/ (function(module, exports) {
|
|
5784
5898
|
|
|
5785
5899
|
// json3.js
|
|
@@ -6548,7 +6662,7 @@ module.exports = setupCustomJSON;
|
|
|
6548
6662
|
|
|
6549
6663
|
|
|
6550
6664
|
/***/ }),
|
|
6551
|
-
/*
|
|
6665
|
+
/* 35 */
|
|
6552
6666
|
/***/ (function(module, exports, __webpack_require__) {
|
|
6553
6667
|
|
|
6554
6668
|
"use strict";
|
|
@@ -6598,7 +6712,7 @@ module.exports = wrapGlobals;
|
|
|
6598
6712
|
|
|
6599
6713
|
|
|
6600
6714
|
/***/ }),
|
|
6601
|
-
/*
|
|
6715
|
+
/* 36 */
|
|
6602
6716
|
/***/ (function(module, exports, __webpack_require__) {
|
|
6603
6717
|
|
|
6604
6718
|
"use strict";
|