rollbar 3.0.0 → 3.1.0
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.cjs +260 -3
- package/dist/rollbar.js +88 -2
- package/dist/rollbar.js.map +1 -1
- package/dist/rollbar.min.cjs +1 -1
- package/dist/rollbar.min.js +1 -1
- package/dist/rollbar.min.js.map +1 -1
- package/dist/rollbar.named-amd.js +88 -2
- 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 +88 -2
- 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.replay.js +88 -2
- package/dist/rollbar.replay.js.map +1 -1
- package/dist/rollbar.replay.min.js +1 -1
- package/dist/rollbar.replay.min.js.map +1 -1
- package/dist/rollbar.replay.noconflict.umd.js +88 -2
- package/dist/rollbar.replay.noconflict.umd.js.map +1 -1
- package/dist/rollbar.replay.noconflict.umd.min.js +1 -1
- package/dist/rollbar.replay.noconflict.umd.min.js.map +1 -1
- package/dist/rollbar.replay.umd.js +88 -2
- package/dist/rollbar.replay.umd.js.map +1 -1
- package/dist/rollbar.replay.umd.min.js +1 -1
- package/dist/rollbar.replay.umd.min.js.map +1 -1
- package/dist/rollbar.snippet.js +1 -1
- package/dist/rollbar.umd.js +88 -2
- 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/index.d.ts +15 -0
- package/package.json +2 -1
- package/src/browser/telemetry.js +25 -0
- package/src/defaults.js +1 -1
- package/src/rollbar.js +3 -1
- package/src/server/middleware/rollbarExpressMiddleware.js +63 -0
- package/src/server/rollbar.js +13 -0
- package/src/server/telemetry.js +120 -1
- package/src/utility.js +70 -0
package/dist/rollbar.replay.js
CHANGED
|
@@ -187,6 +187,9 @@ function isPromise(p) {
|
|
|
187
187
|
function isBrowser() {
|
|
188
188
|
return typeof window !== 'undefined';
|
|
189
189
|
}
|
|
190
|
+
function isRequestObject(input) {
|
|
191
|
+
return typeof Request !== 'undefined' && input instanceof Request;
|
|
192
|
+
}
|
|
190
193
|
function redact() {
|
|
191
194
|
return '********';
|
|
192
195
|
}
|
|
@@ -831,6 +834,70 @@ function merge() {
|
|
|
831
834
|
}
|
|
832
835
|
return result;
|
|
833
836
|
}
|
|
837
|
+
function shouldAddBaggageHeader(options, tracing, url) {
|
|
838
|
+
var _options$tracing;
|
|
839
|
+
if (!(tracing !== null && tracing !== void 0 && tracing.sessionId) || !url) {
|
|
840
|
+
return false;
|
|
841
|
+
}
|
|
842
|
+
var propagation = options === null || options === void 0 || (_options$tracing = options.tracing) === null || _options$tracing === void 0 ? void 0 : _options$tracing.propagation;
|
|
843
|
+
var enabledHeaders = propagation === null || propagation === void 0 ? void 0 : propagation.enabledHeaders;
|
|
844
|
+
if (!Array.isArray(enabledHeaders) || !enabledHeaders.includes('baggage')) {
|
|
845
|
+
return false;
|
|
846
|
+
}
|
|
847
|
+
var enabledCorsUrls = propagation === null || propagation === void 0 ? void 0 : propagation.enabledCorsUrls;
|
|
848
|
+
if (!Array.isArray(enabledCorsUrls) || enabledCorsUrls.length === 0) {
|
|
849
|
+
return false;
|
|
850
|
+
}
|
|
851
|
+
return enabledCorsUrls.some(function (pattern) {
|
|
852
|
+
if (isType(pattern, 'string')) {
|
|
853
|
+
return url === pattern;
|
|
854
|
+
}
|
|
855
|
+
if (isType(pattern, 'regexp')) {
|
|
856
|
+
return pattern.test(url);
|
|
857
|
+
}
|
|
858
|
+
return false;
|
|
859
|
+
});
|
|
860
|
+
}
|
|
861
|
+
function addHeadersToFetch(args, newHeaders) {
|
|
862
|
+
var _init;
|
|
863
|
+
// Headers may be in the request object or the init object.
|
|
864
|
+
// If present in both places, the init object must be used.
|
|
865
|
+
//
|
|
866
|
+
var init = args[1];
|
|
867
|
+
var initHeaders = (_init = init) === null || _init === void 0 ? void 0 : _init.headers;
|
|
868
|
+
var reqHeaders = isRequestObject(args[0]) && args[0].headers;
|
|
869
|
+
var headers = initHeaders || reqHeaders;
|
|
870
|
+
|
|
871
|
+
// If headers are not present in either place, they are added to the init object.
|
|
872
|
+
// If there is no init object, one must be created and added to args.
|
|
873
|
+
if (!headers) {
|
|
874
|
+
if (!init) {
|
|
875
|
+
args[1] = init = {};
|
|
876
|
+
}
|
|
877
|
+
headers = init.headers = {};
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
// `headers` may be a Headers object or a plain object.
|
|
881
|
+
if (headers instanceof Headers) {
|
|
882
|
+
for (var _i = 0, _Object$keys = Object.keys(newHeaders); _i < _Object$keys.length; _i++) {
|
|
883
|
+
var key = _Object$keys[_i];
|
|
884
|
+
headers.append(key, newHeaders[key]);
|
|
885
|
+
}
|
|
886
|
+
} else if (isObject(headers)) {
|
|
887
|
+
for (var _i2 = 0, _Object$keys2 = Object.keys(newHeaders); _i2 < _Object$keys2.length; _i2++) {
|
|
888
|
+
var _key = _Object$keys2[_i2];
|
|
889
|
+
headers[_key] = newHeaders[_key];
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
function getSessionIdFromAsyncLocalStorage(client) {
|
|
894
|
+
var storage = client.asyncLocalStorage;
|
|
895
|
+
if (!storage || typeof storage.getStore !== 'function') {
|
|
896
|
+
return null;
|
|
897
|
+
}
|
|
898
|
+
var store = storage.getStore();
|
|
899
|
+
return (store === null || store === void 0 ? void 0 : store.sessionId) || null;
|
|
900
|
+
}
|
|
834
901
|
|
|
835
902
|
;// ./src/utility/traverse.js
|
|
836
903
|
|
|
@@ -2980,7 +3047,7 @@ function _getOTLPTransport(options, url) {
|
|
|
2980
3047
|
/**
|
|
2981
3048
|
* Default options shared across platforms
|
|
2982
3049
|
*/
|
|
2983
|
-
var version = '3.
|
|
3050
|
+
var version = '3.1.0';
|
|
2984
3051
|
var endpoint = 'api.rollbar.com/api/1/item/';
|
|
2985
3052
|
var logLevel = 'debug';
|
|
2986
3053
|
var reportLevel = 'debug';
|
|
@@ -4243,9 +4310,11 @@ Rollbar.prototype._log = function (defaultLevel, item) {
|
|
|
4243
4310
|
Rollbar.prototype._addItemAttributes = function (item) {
|
|
4244
4311
|
var _this$tracing, _this$tracing2;
|
|
4245
4312
|
var span = (_this$tracing = this.tracing) === null || _this$tracing === void 0 ? void 0 : _this$tracing.getSpan();
|
|
4313
|
+
var asyncLocalSessionId = getSessionIdFromAsyncLocalStorage(this);
|
|
4314
|
+
var sessionId = asyncLocalSessionId || ((_this$tracing2 = this.tracing) === null || _this$tracing2 === void 0 ? void 0 : _this$tracing2.sessionId);
|
|
4246
4315
|
var attributes = [{
|
|
4247
4316
|
key: 'session_id',
|
|
4248
|
-
value:
|
|
4317
|
+
value: sessionId
|
|
4249
4318
|
}, {
|
|
4250
4319
|
key: 'span_id',
|
|
4251
4320
|
value: span === null || span === void 0 ? void 0 : span.spanId
|
|
@@ -22507,7 +22576,16 @@ var Instrumenter = /*#__PURE__*/function () {
|
|
|
22507
22576
|
}, this.replacements, 'network');
|
|
22508
22577
|
utility_replace(xhrp, 'send', function (orig) {
|
|
22509
22578
|
return function (data) {
|
|
22579
|
+
var _self$rollbar, _xhr$__rollbar_xhr;
|
|
22510
22580
|
var xhr = this;
|
|
22581
|
+
var tracing = (_self$rollbar = self.rollbar) === null || _self$rollbar === void 0 ? void 0 : _self$rollbar.tracing;
|
|
22582
|
+
if (shouldAddBaggageHeader(self.options, tracing, (_xhr$__rollbar_xhr = xhr.__rollbar_xhr) === null || _xhr$__rollbar_xhr === void 0 ? void 0 : _xhr$__rollbar_xhr.url)) {
|
|
22583
|
+
try {
|
|
22584
|
+
xhr.setRequestHeader('baggage', "rollbar.session.id=".concat(tracing.sessionId));
|
|
22585
|
+
} catch (_e) {
|
|
22586
|
+
/* ignore errors from adding baggage header */
|
|
22587
|
+
}
|
|
22588
|
+
}
|
|
22511
22589
|
function onreadystatechangeHandler() {
|
|
22512
22590
|
if (xhr.__rollbar_xhr) {
|
|
22513
22591
|
if (xhr.__rollbar_xhr.status_code === null) {
|
|
@@ -22628,6 +22706,7 @@ var Instrumenter = /*#__PURE__*/function () {
|
|
|
22628
22706
|
if ('fetch' in this._window) {
|
|
22629
22707
|
utility_replace(this._window, 'fetch', function (orig) {
|
|
22630
22708
|
return function (_fn, _t) {
|
|
22709
|
+
var _self$rollbar2;
|
|
22631
22710
|
var args = Array.prototype.slice.call(arguments);
|
|
22632
22711
|
var input = args[0];
|
|
22633
22712
|
var method = 'GET';
|
|
@@ -22644,6 +22723,13 @@ var Instrumenter = /*#__PURE__*/function () {
|
|
|
22644
22723
|
if (args[1] && args[1].method) {
|
|
22645
22724
|
method = args[1].method;
|
|
22646
22725
|
}
|
|
22726
|
+
var tracing = (_self$rollbar2 = self.rollbar) === null || _self$rollbar2 === void 0 ? void 0 : _self$rollbar2.tracing;
|
|
22727
|
+
if (shouldAddBaggageHeader(self.options, tracing, url)) {
|
|
22728
|
+
var _headers2 = {
|
|
22729
|
+
baggage: "rollbar.session.id=".concat(tracing.sessionId)
|
|
22730
|
+
};
|
|
22731
|
+
addHeadersToFetch(args, _headers2);
|
|
22732
|
+
}
|
|
22647
22733
|
var metadata = {
|
|
22648
22734
|
method: method,
|
|
22649
22735
|
url: url,
|