@cloudcare/browser-core 3.2.4 → 3.2.7
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/cjs/browser/cookie.js +14 -9
- package/cjs/browser/cookie.js.map +1 -1
- package/cjs/configuration/configuration.js +3 -24
- package/cjs/configuration/configuration.js.map +1 -1
- package/cjs/index.js +90 -41
- package/cjs/index.js.map +1 -1
- package/cjs/init.js +0 -19
- package/cjs/init.js.map +1 -1
- package/cjs/session/sessionConstants.js +3 -1
- package/cjs/session/sessionConstants.js.map +1 -1
- package/cjs/session/sessionInCookie.js +59 -0
- package/cjs/session/sessionInCookie.js.map +1 -0
- package/cjs/session/sessionInLocalStorage.js +44 -0
- package/cjs/session/sessionInLocalStorage.js.map +1 -0
- package/cjs/session/sessionManagement.js +38 -31
- package/cjs/session/sessionManagement.js.map +1 -1
- package/cjs/session/sessionState.js +73 -0
- package/cjs/session/sessionState.js.map +1 -0
- package/cjs/session/sessionStore.js +113 -90
- package/cjs/session/sessionStore.js.map +1 -1
- package/cjs/session/sessionStoreOperations.js +117 -0
- package/cjs/session/sessionStoreOperations.js.map +1 -0
- package/esm/browser/cookie.js +15 -8
- package/esm/browser/cookie.js.map +1 -1
- package/esm/configuration/configuration.js +3 -23
- package/esm/configuration/configuration.js.map +1 -1
- package/esm/index.js +3 -4
- package/esm/index.js.map +1 -1
- package/esm/init.js +0 -19
- package/esm/init.js.map +1 -1
- package/esm/session/sessionConstants.js +1 -0
- package/esm/session/sessionConstants.js.map +1 -1
- package/esm/session/sessionInCookie.js +51 -0
- package/esm/session/sessionInCookie.js.map +1 -0
- package/esm/session/sessionInLocalStorage.js +37 -0
- package/esm/session/sessionInLocalStorage.js.map +1 -0
- package/esm/session/sessionManagement.js +35 -28
- package/esm/session/sessionManagement.js.map +1 -1
- package/esm/session/sessionState.js +59 -0
- package/esm/session/sessionState.js.map +1 -0
- package/esm/session/sessionStore.js +113 -90
- package/esm/session/sessionStore.js.map +1 -1
- package/esm/session/sessionStoreOperations.js +108 -0
- package/esm/session/sessionStoreOperations.js.map +1 -0
- package/package.json +2 -2
- package/src/browser/cookie.js +23 -11
- package/src/configuration/configuration.js +8 -32
- package/src/index.js +9 -4
- package/src/init.js +0 -19
- package/src/session/sessionConstants.js +1 -0
- package/src/session/sessionInCookie.js +87 -0
- package/src/session/sessionInLocalStorage.js +45 -0
- package/src/session/sessionManagement.js +48 -36
- package/src/session/sessionState.js +72 -0
- package/src/session/sessionStore.js +163 -108
- package/src/session/sessionStoreOperations.js +134 -0
- package/types/index.d.ts +4 -0
- package/cjs/session/sessionCookieStore.js +0 -156
- package/cjs/session/sessionCookieStore.js.map +0 -1
- package/cjs/synthetics/usr.js +0 -26
- package/cjs/synthetics/usr.js.map +0 -1
- package/esm/session/sessionCookieStore.js +0 -142
- package/esm/session/sessionCookieStore.js.map +0 -1
- package/esm/synthetics/usr.js +0 -17
- package/esm/synthetics/usr.js.map +0 -1
- package/src/session/sessionCookieStore.js +0 -169
- package/src/synthetics/usr.js +0 -18
package/cjs/browser/cookie.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.COOKIE_ACCESS_DELAY = void 0;
|
|
7
6
|
exports.areCookiesAuthorized = areCookiesAuthorized;
|
|
8
7
|
exports.deleteCookie = deleteCookie;
|
|
9
8
|
exports.getCookie = getCookie;
|
|
@@ -12,8 +11,9 @@ exports.getInitCookie = getInitCookie;
|
|
|
12
11
|
exports.resetInitCookies = resetInitCookies;
|
|
13
12
|
exports.setCookie = setCookie;
|
|
14
13
|
var _tools = require("../helper/tools");
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
function getCookieName(name, options) {
|
|
15
|
+
return "".concat(name, "_").concat(options && options.crossSite ? 'cs1' : 'cs0', "_").concat(options && options.domain ? 'd1' : 'd0', "_").concat(options && options.secure ? 'sec1' : 'sec0', "_").concat(options && options.partitioned ? 'part1' : 'part0');
|
|
16
|
+
}
|
|
17
17
|
function setCookie(name, value, expireDelay, options) {
|
|
18
18
|
var date = new Date();
|
|
19
19
|
date.setTime(date.getTime() + expireDelay);
|
|
@@ -22,10 +22,10 @@ function setCookie(name, value, expireDelay, options) {
|
|
|
22
22
|
var domain = options && options.domain ? ';domain=' + options.domain : '';
|
|
23
23
|
var secure = options && options.secure ? ';secure' : '';
|
|
24
24
|
var partitioned = options && options.partitioned ? ';partitioned' : '';
|
|
25
|
-
document.cookie = name + '=' + value + ';' + expires + ';path=/;samesite=' + sameSite + domain + secure + partitioned;
|
|
25
|
+
document.cookie = getCookieName(name, options) + '=' + value + ';' + expires + ';path=/;samesite=' + sameSite + domain + secure + partitioned;
|
|
26
26
|
}
|
|
27
|
-
function getCookie(name) {
|
|
28
|
-
return (0, _tools.findCommaSeparatedValue)(document.cookie, name);
|
|
27
|
+
function getCookie(name, options) {
|
|
28
|
+
return (0, _tools.findCommaSeparatedValue)(document.cookie, getCookieName(name, options));
|
|
29
29
|
}
|
|
30
30
|
var initCookieParsed;
|
|
31
31
|
/**
|
|
@@ -53,8 +53,10 @@ function areCookiesAuthorized(options) {
|
|
|
53
53
|
// the test cookie lifetime
|
|
54
54
|
var testCookieName = "gc_cookie_test_".concat((0, _tools.UUID)());
|
|
55
55
|
var testCookieValue = 'test';
|
|
56
|
-
setCookie(testCookieName, testCookieValue, _tools.
|
|
57
|
-
|
|
56
|
+
setCookie(testCookieName, testCookieValue, _tools.ONE_MINUTE, options);
|
|
57
|
+
var isCookieCorrectlySet = getCookie(testCookieName, options) === testCookieValue;
|
|
58
|
+
deleteCookie(testCookieName, options);
|
|
59
|
+
return isCookieCorrectlySet;
|
|
58
60
|
} catch (error) {
|
|
59
61
|
return false;
|
|
60
62
|
}
|
|
@@ -75,11 +77,14 @@ function getCurrentSite() {
|
|
|
75
77
|
var domainLevels = window.location.hostname.split('.');
|
|
76
78
|
var candidateDomain = domainLevels.pop();
|
|
77
79
|
while (domainLevels.length && !getCookie(testCookieName)) {
|
|
78
|
-
candidateDomain = domainLevels.pop()
|
|
80
|
+
candidateDomain = "".concat(domainLevels.pop(), ".").concat(candidateDomain);
|
|
79
81
|
setCookie(testCookieName, testCookieValue, _tools.ONE_SECOND, {
|
|
80
82
|
domain: candidateDomain
|
|
81
83
|
});
|
|
82
84
|
}
|
|
85
|
+
deleteCookie(testCookieName, {
|
|
86
|
+
domain: candidateDomain
|
|
87
|
+
});
|
|
83
88
|
getCurrentSiteCache = candidateDomain;
|
|
84
89
|
}
|
|
85
90
|
return getCurrentSiteCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.js","names":["_tools","require","
|
|
1
|
+
{"version":3,"file":"cookie.js","names":["_tools","require","getCookieName","name","options","concat","crossSite","domain","secure","partitioned","setCookie","value","expireDelay","date","Date","setTime","getTime","expires","toUTCString","sameSite","document","cookie","getCookie","findCommaSeparatedValue","initCookieParsed","getInitCookie","findCommaSeparatedValues","get","resetInitCookies","undefined","deleteCookie","areCookiesAuthorized","testCookieName","UUID","testCookieValue","ONE_MINUTE","isCookieCorrectlySet","error","getCurrentSiteCache","getCurrentSite","domainLevels","window","location","hostname","split","candidateDomain","pop","length","ONE_SECOND"],"sources":["../../src/browser/cookie.js"],"sourcesContent":["import {\n findCommaSeparatedValue,\n UUID,\n ONE_SECOND,\n ONE_MINUTE,\n findCommaSeparatedValues\n} from '../helper/tools'\n\nfunction getCookieName(name, options) {\n return `${name}_${options && options.crossSite ? 'cs1' : 'cs0'}_${\n options && options.domain ? 'd1' : 'd0'\n }_${options && options.secure ? 'sec1' : 'sec0'}_${\n options && options.partitioned ? 'part1' : 'part0'\n }`\n}\nexport function setCookie(name, value, expireDelay, options) {\n var date = new Date()\n date.setTime(date.getTime() + expireDelay)\n var expires = 'expires=' + date.toUTCString()\n var sameSite = options && options.crossSite ? 'none' : 'strict'\n var domain = options && options.domain ? ';domain=' + options.domain : ''\n var secure = options && options.secure ? ';secure' : ''\n var partitioned = options && options.partitioned ? ';partitioned' : ''\n\n document.cookie =\n getCookieName(name, options) +\n '=' +\n value +\n ';' +\n expires +\n ';path=/;samesite=' +\n sameSite +\n domain +\n secure +\n partitioned\n}\n\nexport function getCookie(name, options) {\n return findCommaSeparatedValue(document.cookie, getCookieName(name, options))\n}\nvar initCookieParsed\n/**\n * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)\n * to avoid accessing document.cookie multiple times.\n */\nexport function getInitCookie(name) {\n if (!initCookieParsed) {\n initCookieParsed = findCommaSeparatedValues(document.cookie)\n }\n return initCookieParsed.get(name)\n}\n\nexport function resetInitCookies() {\n initCookieParsed = undefined\n}\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options)\n}\n\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = `gc_cookie_test_${UUID()}`\n var testCookieValue = 'test'\n setCookie(testCookieName, testCookieValue, ONE_MINUTE, options)\n const isCookieCorrectlySet =\n getCookie(testCookieName, options) === testCookieValue\n deleteCookie(testCookieName, options)\n return isCookieCorrectlySet\n } catch (error) {\n return false\n }\n}\n\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n const testCookieName = `gc_site_test_${UUID()}`\n const testCookieValue = 'test'\n\n const domainLevels = window.location.hostname.split('.')\n let candidateDomain = domainLevels.pop()\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = `${domainLevels.pop()}.${candidateDomain}`\n setCookie(testCookieName, testCookieValue, ONE_SECOND, {\n domain: candidateDomain\n })\n }\n deleteCookie(testCookieName, { domain: candidateDomain })\n getCurrentSiteCache = candidateDomain\n }\n return getCurrentSiteCache\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,15 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DefaultPrivacyLevel = void 0;
|
|
7
|
-
exports.buildCookieOptions = buildCookieOptions;
|
|
8
7
|
exports.validateAndBuildConfiguration = validateAndBuildConfiguration;
|
|
9
8
|
exports.validatePostRequestRequireParamsConfiguration = validatePostRequestRequireParamsConfiguration;
|
|
10
|
-
var _cookie = require("../browser/cookie");
|
|
11
9
|
var _catchUserErrors = require("../helper/catchUserErrors");
|
|
12
10
|
var _display = require("../helper/display");
|
|
13
11
|
var _tools = require("../helper/tools");
|
|
14
12
|
var _byteUtils = require("../helper/byteUtils");
|
|
15
13
|
var _transportConfiguration = require("./transportConfiguration");
|
|
14
|
+
var _sessionStore = require("../session/sessionStore");
|
|
16
15
|
var DefaultPrivacyLevel = {
|
|
17
16
|
ALLOW: 'allow',
|
|
18
17
|
MASK: 'mask',
|
|
@@ -32,10 +31,10 @@ function validateAndBuildConfiguration(initConfiguration) {
|
|
|
32
31
|
_display.display.error('Telemetry Sample Rate should be a number between 0 and 100');
|
|
33
32
|
return;
|
|
34
33
|
}
|
|
35
|
-
var sessionSampleRate = initConfiguration.sessionSampleRate
|
|
34
|
+
var sessionSampleRate = (0, _tools.isNullUndefinedDefaultValue)(initConfiguration.sessionSampleRate, initConfiguration.sampleRate);
|
|
36
35
|
return (0, _tools.assign)({
|
|
37
36
|
beforeSend: initConfiguration.beforeSend && (0, _catchUserErrors.catchUserErrors)(initConfiguration.beforeSend, 'beforeSend threw an error:'),
|
|
38
|
-
|
|
37
|
+
sessionStoreStrategyType: (0, _sessionStore.selectSessionStoreStrategyType)(initConfiguration),
|
|
39
38
|
sessionSampleRate: (0, _tools.isNullUndefinedDefaultValue)(sessionSampleRate, 100),
|
|
40
39
|
service: initConfiguration.service,
|
|
41
40
|
version: initConfiguration.version,
|
|
@@ -84,24 +83,4 @@ function validatePostRequestRequireParamsConfiguration(initConfiguration) {
|
|
|
84
83
|
}
|
|
85
84
|
return true;
|
|
86
85
|
}
|
|
87
|
-
function buildCookieOptions(initConfiguration) {
|
|
88
|
-
var cookieOptions = {};
|
|
89
|
-
|
|
90
|
-
// cookieOptions.secure = mustUseSecureCookie(initConfiguration)
|
|
91
|
-
// cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie
|
|
92
|
-
cookieOptions.secure = !!initConfiguration.useSecureSessionCookie || !!initConfiguration.usePartitionedCrossSiteSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;
|
|
93
|
-
cookieOptions.crossSite = !!initConfiguration.usePartitionedCrossSiteSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;
|
|
94
|
-
cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie;
|
|
95
|
-
if (initConfiguration.trackSessionAcrossSubdomains) {
|
|
96
|
-
cookieOptions.domain = (0, _cookie.getCurrentSite)();
|
|
97
|
-
}
|
|
98
|
-
return cookieOptions;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// function mustUseSecureCookie(initConfiguration) {
|
|
102
|
-
// return (
|
|
103
|
-
// !!initConfiguration.useSecureSessionCookie ||
|
|
104
|
-
// !!initConfiguration.useCrossSiteSessionCookie
|
|
105
|
-
// )
|
|
106
|
-
// }
|
|
107
86
|
//# sourceMappingURL=configuration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","names":["
|
|
1
|
+
{"version":3,"file":"configuration.js","names":["_catchUserErrors","require","_display","_tools","_byteUtils","_transportConfiguration","_sessionStore","DefaultPrivacyLevel","ALLOW","MASK","MASK_USER_INPUT","exports","validateAndBuildConfiguration","initConfiguration","sampleRate","undefined","isPercentage","display","error","sessionSampleRate","telemetrySampleRate","isNullUndefinedDefaultValue","assign","beforeSend","catchUserErrors","sessionStoreStrategyType","selectSessionStoreStrategyType","service","version","env","telemetryEnabled","silentMultipleInit","batchBytesLimit","ONE_KIBI_BYTE","eventRateLimiterThreshold","maxTelemetryEventsPerPage","flushTimeout","ONE_SECOND","batchMessagesLimit","messageBytesLimit","resourceUrlLimit","storeContextsToLocal","storeContextsKey","sendContentTypeByJson","computeTransportConfiguration","validatePostRequestRequireParamsConfiguration","site","datakitOrigin","datakitUrl","clientToken"],"sources":["../../src/configuration/configuration.js"],"sourcesContent":["import { catchUserErrors } from '../helper/catchUserErrors'\nimport { display } from '../helper/display'\nimport {\n assign,\n isPercentage,\n ONE_SECOND,\n isNullUndefinedDefaultValue\n} from '../helper/tools'\nimport { ONE_KIBI_BYTE } from '../helper/byteUtils'\nimport { computeTransportConfiguration } from './transportConfiguration'\nimport { selectSessionStoreStrategyType } from '../session/sessionStore'\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input'\n}\nexport function validateAndBuildConfiguration(initConfiguration) {\n if (\n initConfiguration.sampleRate !== undefined &&\n !isPercentage(initConfiguration.sampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.sessionSampleRate !== undefined &&\n !isPercentage(initConfiguration.sessionSampleRate)\n ) {\n display.error('Sample Rate should be a number between 0 and 100')\n return\n }\n if (\n initConfiguration.telemetrySampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetrySampleRate)\n ) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100')\n return\n }\n\n var sessionSampleRate = isNullUndefinedDefaultValue(\n initConfiguration.sessionSampleRate,\n initConfiguration.sampleRate\n )\n return assign(\n {\n beforeSend:\n initConfiguration.beforeSend &&\n catchUserErrors(\n initConfiguration.beforeSend,\n 'beforeSend threw an error:'\n ),\n sessionStoreStrategyType:\n selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: isNullUndefinedDefaultValue(sessionSampleRate, 100),\n service: initConfiguration.service,\n version: initConfiguration.version,\n env: initConfiguration.env,\n telemetrySampleRate: isNullUndefinedDefaultValue(\n initConfiguration.telemetrySampleRate,\n 100\n ),\n telemetryEnabled: isNullUndefinedDefaultValue(\n initConfiguration.telemetryEnabled,\n false\n ),\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n resourceUrlLimit: 5 * ONE_KIBI_BYTE,\n storeContextsToLocal: !!initConfiguration.storeContextsToLocal,\n // 存储到localstorage key ,默认不填,自动生成\n storeContextsKey: initConfiguration.storeContextsKey,\n sendContentTypeByJson: !!initConfiguration.sendContentTypeByJson\n },\n computeTransportConfiguration(initConfiguration)\n )\n}\nexport function validatePostRequestRequireParamsConfiguration(\n initConfiguration\n) {\n if (\n !initConfiguration.site &&\n !initConfiguration.datakitOrigin &&\n !initConfiguration.datakitUrl\n ) {\n display.error(\n 'datakitOrigin or site is not configured, no RUM data will be collected.'\n )\n return false\n }\n // if (!initConfiguration.datakitUrl && !initConfiguration.datakitOrigin) {\n // display.error(\n // 'datakitOrigin is not configured, no RUM data will be collected.'\n // )\n // return false\n // }\n if (initConfiguration.site && !initConfiguration.clientToken) {\n display.error(\n 'clientToken is not configured, no RUM data will be collected.'\n )\n return false\n }\n return true\n}\n"],"mappings":"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","ignoreList":[]}
|