react-native-gleapsdk 10.0.3 → 11.0.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/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.idea/gradle.xml +0 -6
- package/android/.idea/misc.xml +2 -1
- package/android/build.gradle +1 -1
- package/android/local.properties +1 -1
- package/android/src/main/java/com/reactnativegleapsdk/GleapsdkModule.java +1 -1
- package/lib/commonjs/index.js +6 -27
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/networklogger.js +29 -81
- package/lib/commonjs/networklogger.js.map +1 -1
- package/lib/module/index.js +6 -23
- package/lib/module/index.js.map +1 -1
- package/lib/module/networklogger.js +29 -80
- package/lib/module/networklogger.js.map +1 -1
- package/lib/typescript/index.d.ts +4 -3
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/networklogger.d.ts +1 -0
- package/lib/typescript/networklogger.d.ts.map +1 -0
- package/package.json +5 -6
- package/react-native-gleapsdk.podspec +1 -1
- package/android/.gradle/6.8/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.idea/compiler.xml +0 -6
- package/android/.idea/jarRepositories.xml +0 -35
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_0_0.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_0_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_collection_collection_1_0_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_core_core_1_0_1_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_0_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_0_3.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_0_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_0_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_0_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_0_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_0_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_0_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_0_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_0_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_63_4_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_9_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_9_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_9_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_14_1.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_12.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_12.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml +0 -13
- package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
- package/android/.idea/modules/android.iml +0 -91
- package/android/.idea/modules.xml +0 -8
- package/ios/Gleapsdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/Gleapsdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Gleapsdk.xcodeproj/project.xcworkspace/xcuserdata/lukasboehler.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Gleapsdk.xcodeproj/xcuserdata/lukasboehler.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Sun Jun 18 15:13:42 CEST 2023
|
|
2
2
|
gradle.version=6.8
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/.idea/gradle.xml
CHANGED
|
@@ -6,12 +6,6 @@
|
|
|
6
6
|
<option name="testRunner" value="GRADLE" />
|
|
7
7
|
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
|
8
8
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
9
|
-
<option name="modules">
|
|
10
|
-
<set>
|
|
11
|
-
<option value="$PROJECT_DIR$" />
|
|
12
|
-
</set>
|
|
13
|
-
</option>
|
|
14
|
-
<option name="resolveModulePerSourceSet" value="false" />
|
|
15
9
|
</GradleProjectSettings>
|
|
16
10
|
</option>
|
|
17
11
|
</component>
|
package/android/.idea/misc.xml
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<project version="4">
|
|
3
|
-
<component name="
|
|
3
|
+
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
|
4
|
+
<component name="ProjectRootManager" version="2" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
|
|
4
5
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
5
6
|
</component>
|
|
6
7
|
<component name="ProjectType">
|
package/android/build.gradle
CHANGED
|
@@ -51,7 +51,7 @@ repositories {
|
|
|
51
51
|
|
|
52
52
|
dependencies {
|
|
53
53
|
implementation "com.facebook.react:react-native:+"
|
|
54
|
-
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '
|
|
54
|
+
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '11.0.0'
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
if(rootProject && rootProject.ext) {
|
package/android/local.properties
CHANGED
|
@@ -581,7 +581,7 @@ public class GleapsdkModule extends ReactContextBaseJavaModule {
|
|
|
581
581
|
public void run() {
|
|
582
582
|
try {
|
|
583
583
|
JSONObject body = new JSONObject();
|
|
584
|
-
body.put("page",
|
|
584
|
+
body.put("page", pageName);
|
|
585
585
|
Gleap.getInstance().trackEvent("pageView", body);
|
|
586
586
|
} catch (Exception ignore) {
|
|
587
587
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _reactNative = require("react-native");
|
|
9
|
-
|
|
10
8
|
var _networklogger = _interopRequireDefault(require("./networklogger"));
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
const LINKING_ERROR = `The package 'react-native-gleapsdk' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
15
11
|
ios: "- You have run 'pod install'\n",
|
|
16
12
|
default: ''
|
|
@@ -19,21 +15,18 @@ const GleapSdk = _reactNative.NativeModules.Gleapsdk ? _reactNative.NativeModule
|
|
|
19
15
|
get() {
|
|
20
16
|
throw new Error(LINKING_ERROR);
|
|
21
17
|
}
|
|
22
|
-
|
|
23
18
|
});
|
|
24
|
-
|
|
25
19
|
if (GleapSdk && !GleapSdk.touched) {
|
|
26
|
-
const networkLogger = new _networklogger.default();
|
|
20
|
+
const networkLogger = new _networklogger.default();
|
|
27
21
|
|
|
22
|
+
// Push the network log to the native SDK.
|
|
28
23
|
GleapSdk.startNetworkLogging = () => {
|
|
29
24
|
// Set the callback.
|
|
30
25
|
networkLogger.setUpdatedCallback(() => {
|
|
31
26
|
if (!networkLogger) {
|
|
32
27
|
return;
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
const requests = networkLogger.getRequests();
|
|
36
|
-
|
|
37
30
|
if (requests && GleapSdk && typeof GleapSdk.attachNetworkLog !== 'undefined') {
|
|
38
31
|
if (_reactNative.Platform.OS === 'android') {
|
|
39
32
|
GleapSdk.attachNetworkLog(JSON.stringify(requests));
|
|
@@ -41,35 +34,30 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
41
34
|
GleapSdk.attachNetworkLog(JSON.parse(JSON.stringify(requests)));
|
|
42
35
|
}
|
|
43
36
|
}
|
|
44
|
-
});
|
|
37
|
+
});
|
|
45
38
|
|
|
39
|
+
// Start the logger.
|
|
46
40
|
networkLogger.start();
|
|
47
41
|
};
|
|
48
|
-
|
|
49
42
|
GleapSdk.stopNetworkLogging = () => {
|
|
50
43
|
networkLogger.setStopped(true);
|
|
51
|
-
};
|
|
52
|
-
|
|
44
|
+
};
|
|
53
45
|
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
54
47
|
GleapSdk.logEvent = (name, data) => {
|
|
55
48
|
console.log('logEvent is deprecated. Use trackEvent instead.');
|
|
56
49
|
GleapSdk.trackEvent(name, data);
|
|
57
50
|
};
|
|
58
|
-
|
|
59
51
|
var callbacks = {};
|
|
60
|
-
|
|
61
52
|
GleapSdk.registerListener = (eventType, callback) => {
|
|
62
53
|
if (!callbacks[eventType]) {
|
|
63
54
|
callbacks[eventType] = [];
|
|
64
55
|
}
|
|
65
|
-
|
|
66
56
|
callbacks[eventType].push(callback);
|
|
67
57
|
};
|
|
68
|
-
|
|
69
58
|
GleapSdk.registerCustomAction = customActionCallback => {
|
|
70
59
|
GleapSdk.registerListener('customActionTriggered', customActionCallback);
|
|
71
60
|
};
|
|
72
|
-
|
|
73
61
|
const notifyCallback = function (eventType, data) {
|
|
74
62
|
if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {
|
|
75
63
|
for (var i = 0; i < callbacks[eventType].length; i++) {
|
|
@@ -79,16 +67,13 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
79
67
|
}
|
|
80
68
|
}
|
|
81
69
|
};
|
|
82
|
-
|
|
83
70
|
const gleapEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.Gleapsdk);
|
|
84
71
|
gleapEmitter.addListener('configLoaded', config => {
|
|
85
72
|
try {
|
|
86
73
|
const configJSON = config instanceof Object ? config : JSON.parse(config);
|
|
87
|
-
|
|
88
74
|
if (configJSON.enableNetworkLogs) {
|
|
89
75
|
GleapSdk.startNetworkLogging();
|
|
90
76
|
}
|
|
91
|
-
|
|
92
77
|
notifyCallback('configLoaded', configJSON);
|
|
93
78
|
} catch (exp) {}
|
|
94
79
|
});
|
|
@@ -116,27 +101,22 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
116
101
|
gleapEmitter.addListener('unregisterPushMessageGroup', pushMessageGroup => {
|
|
117
102
|
notifyCallback('unregisterPushMessageGroup', pushMessageGroup);
|
|
118
103
|
});
|
|
119
|
-
|
|
120
104
|
function isJsonString(str) {
|
|
121
105
|
try {
|
|
122
106
|
JSON.parse(str);
|
|
123
107
|
} catch (e) {
|
|
124
108
|
return false;
|
|
125
109
|
}
|
|
126
|
-
|
|
127
110
|
return true;
|
|
128
111
|
}
|
|
129
|
-
|
|
130
112
|
gleapEmitter.addListener('customActionTriggered', data => {
|
|
131
113
|
try {
|
|
132
114
|
if (isJsonString(data)) {
|
|
133
115
|
data = JSON.parse(data);
|
|
134
116
|
}
|
|
135
|
-
|
|
136
117
|
const {
|
|
137
118
|
name
|
|
138
119
|
} = data;
|
|
139
|
-
|
|
140
120
|
if (name) {
|
|
141
121
|
notifyCallback('customActionTriggered', {
|
|
142
122
|
name
|
|
@@ -147,7 +127,6 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
147
127
|
GleapSdk.removeAllAttachments();
|
|
148
128
|
GleapSdk.touched = true;
|
|
149
129
|
}
|
|
150
|
-
|
|
151
130
|
var _default = GleapSdk;
|
|
152
131
|
exports.default = _default;
|
|
153
132
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":["LINKING_ERROR","Platform","select","ios","default","GleapSdk","NativeModules","Gleapsdk","Proxy","get","Error","touched","networkLogger","GleapNetworkIntercepter","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","pushMessageGroup","isJsonString","str","e","removeAllAttachments"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport GleapNetworkIntercepter from './networklogger';\n\nconst LINKING_ERROR =\n `The package 'react-native-gleapsdk' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport type GleapUserProperty = {\n email?: string;\n name?: string;\n phone?: string;\n value?: number;\n customData?: { [key: string]: string | number };\n};\n\ntype GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';\n\ntype GleapSdkType = {\n initialize(token: string): void;\n startFeedbackFlow(feedbackFlow: string, showBackButton: boolean): void;\n startBot(botId: string, showBackButton: boolean): void;\n sendSilentCrashReport(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH'\n ): void;\n sendSilentCrashReportWithExcludeData(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH',\n excludeData: {\n customData?: Boolean;\n metaData?: Boolean;\n attachments?: Boolean;\n consoleLog?: Boolean;\n networkLogs?: Boolean;\n customEventLog?: Boolean;\n screenshot?: Boolean;\n replays?: Boolean;\n }\n ): void;\n open(): void;\n openNews(showBackButton: boolean): void;\n openNewsArticle(articleId: string, showBackButton: boolean): void;\n openFeatureRequests(showBackButton: boolean): void;\n openHelpCenter(showBackButton: boolean): void;\n openHelpCenterCollection(collectionId: string, showBackButton: boolean): void;\n openHelpCenterArticle(articleId: string, showBackButton: boolean): void;\n searchHelpCenter(term: string, showBackButton: boolean): void;\n close(): void;\n isOpened(): Promise<boolean>;\n identify(userId: string, userProperties: GleapUserProperty): void;\n identifyWithUserHash(\n userId: string,\n userProperties: GleapUserProperty,\n userHash: string\n ): void;\n showFeedbackButton(show: boolean): void;\n clearIdentity(): void;\n preFillForm(formData: { [key: string]: string }): void;\n setApiUrl(apiUrl: string): void;\n setFrameUrl(frameUrl: string): void;\n attachCustomData(customData: any): void;\n setCustomData(key: string, value: string): void;\n removeCustomDataForKey(key: string): void;\n clearCustomData(): void;\n setDisableInAppNotifications(disableInAppNotifications: boolean): void;\n registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): void;\n setTags(tags: string[]): void;\n trackPage(pageName: String): void;\n showSurvey(surveyId: String, format: 'survey' | 'survey_full'): void;\n log(message: string): void;\n logWithLogLevel(\n message: string,\n logLevel: 'INFO' | 'WARNING' | 'ERROR'\n ): void;\n logEvent(name: string, data: any): void;\n trackEvent(name: string, data: any): void;\n addAttachment(base64file: string, fileName: string): void;\n removeAllAttachments(): void;\n startNetworkLogging(): void;\n stopNetworkLogging(): void;\n setActivationMethods(activationMethods: GleapActivationMethod[]): void;\n registerCustomAction(\n customActionCallback: (data: { name: string }) => void\n ): void;\n getIdentity(): Promise<any>;\n isUserIdentified(): Promise<boolean>;\n};\n\nconst GleapSdk = NativeModules.Gleapsdk\n ? NativeModules.Gleapsdk\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nif (GleapSdk && !GleapSdk.touched) {\n const networkLogger = new GleapNetworkIntercepter();\n\n // Push the network log to the native SDK.\n GleapSdk.startNetworkLogging = () => {\n // Set the callback.\n networkLogger.setUpdatedCallback(() => {\n if (!networkLogger) {\n return;\n }\n\n const requests = networkLogger.getRequests();\n\n if (\n requests &&\n GleapSdk &&\n typeof GleapSdk.attachNetworkLog !== 'undefined'\n ) {\n if (Platform.OS === 'android') {\n GleapSdk.attachNetworkLog(JSON.stringify(requests));\n } else {\n GleapSdk.attachNetworkLog(JSON.parse(JSON.stringify(requests)));\n }\n }\n });\n\n // Start the logger.\n networkLogger.start();\n };\n\n GleapSdk.stopNetworkLogging = () => {\n networkLogger.setStopped(true);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n GleapSdk.logEvent = (name: string, data: any) => {\n console.log('logEvent is deprecated. Use trackEvent instead.');\n GleapSdk.trackEvent(name, data);\n };\n\n var callbacks: any = {};\n\n GleapSdk.registerListener = (eventType: string, callback: any) => {\n if (!callbacks[eventType]) {\n callbacks[eventType] = [];\n }\n callbacks[eventType].push(callback);\n };\n\n GleapSdk.registerCustomAction = (customActionCallback: any) => {\n GleapSdk.registerListener('customActionTriggered', customActionCallback);\n };\n\n const notifyCallback = function (eventType: string, data?: any) {\n if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {\n for (var i = 0; i < callbacks[eventType].length; i++) {\n if (callbacks[eventType][i]) {\n callbacks[eventType][i](data);\n }\n }\n }\n };\n\n const gleapEmitter = new NativeEventEmitter(NativeModules.Gleapsdk);\n\n gleapEmitter.addListener('configLoaded', (config: any) => {\n try {\n const configJSON = config instanceof Object ? config : JSON.parse(config);\n if (configJSON.enableNetworkLogs) {\n GleapSdk.startNetworkLogging();\n }\n notifyCallback('configLoaded', configJSON);\n } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackSent', (data) => {\n try {\n const dataJSON = data instanceof Object ? data : JSON.parse(data);\n notifyCallback('feedbackSent', dataJSON);\n } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackFlowStarted', (feedbackAction) => {\n notifyCallback('feedbackFlowStarted', feedbackAction);\n });\n\n gleapEmitter.addListener('feedbackSendingFailed', () => {\n notifyCallback('feedbackSendingFailed');\n });\n\n gleapEmitter.addListener('widgetOpened', () => {\n notifyCallback('widgetOpened');\n });\n\n gleapEmitter.addListener('widgetClosed', () => {\n notifyCallback('widgetClosed');\n });\n\n gleapEmitter.addListener('registerPushMessageGroup', (pushMessageGroup) => {\n notifyCallback('registerPushMessageGroup', pushMessageGroup);\n });\n\n gleapEmitter.addListener('unregisterPushMessageGroup', (pushMessageGroup) => {\n notifyCallback('unregisterPushMessageGroup', pushMessageGroup);\n });\n\n function isJsonString(str: string) {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n gleapEmitter.addListener('customActionTriggered', (data: any) => {\n try {\n if (isJsonString(data)) {\n data = JSON.parse(data);\n }\n const { name } = data;\n if (name) {\n notifyCallback('customActionTriggered', {\n name,\n });\n }\n } catch (exp) {}\n });\n\n GleapSdk.removeAllAttachments();\n GleapSdk.touched = true;\n}\n\nexport default GleapSdk as GleapSdkType;\n"]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_networklogger","_interopRequireDefault","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","GleapSdk","NativeModules","Gleapsdk","Proxy","get","Error","touched","networkLogger","GleapNetworkIntercepter","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","pushMessageGroup","isJsonString","str","e","removeAllAttachments","_default","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAsD,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEtD,MAAMG,aAAa,GAChB,gFAA+E,GAChFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEJ,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;AAsF/C,MAAMK,QAAQ,GAAGC,0BAAa,CAACC,QAAQ,GACnCD,0BAAa,CAACC,QAAQ,GACtB,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,IAAII,QAAQ,IAAI,CAACA,QAAQ,CAACM,OAAO,EAAE;EACjC,MAAMC,aAAa,GAAG,IAAIC,sBAAuB,CAAC,CAAC;;EAEnD;EACAR,QAAQ,CAACS,mBAAmB,GAAG,MAAM;IACnC;IACAF,aAAa,CAACG,kBAAkB,CAAC,MAAM;MACrC,IAAI,CAACH,aAAa,EAAE;QAClB;MACF;MAEA,MAAMI,QAAQ,GAAGJ,aAAa,CAACK,WAAW,CAAC,CAAC;MAE5C,IACED,QAAQ,IACRX,QAAQ,IACR,OAAOA,QAAQ,CAACa,gBAAgB,KAAK,WAAW,EAChD;QACA,IAAIhB,qBAAQ,CAACiB,EAAE,KAAK,SAAS,EAAE;UAC7Bd,QAAQ,CAACa,gBAAgB,CAACE,IAAI,CAACC,SAAS,CAACL,QAAQ,CAAC,CAAC;QACrD,CAAC,MAAM;UACLX,QAAQ,CAACa,gBAAgB,CAACE,IAAI,CAACE,KAAK,CAACF,IAAI,CAACC,SAAS,CAACL,QAAQ,CAAC,CAAC,CAAC;QACjE;MACF;IACF,CAAC,CAAC;;IAEF;IACAJ,aAAa,CAACW,KAAK,CAAC,CAAC;EACvB,CAAC;EAEDlB,QAAQ,CAACmB,kBAAkB,GAAG,MAAM;IAClCZ,aAAa,CAACa,UAAU,CAAC,IAAI,CAAC;EAChC,CAAC;;EAED;EACApB,QAAQ,CAACqB,QAAQ,GAAG,CAACC,IAAY,EAAEC,IAAS,KAAK;IAC/CC,OAAO,CAACC,GAAG,CAAC,iDAAiD,CAAC;IAC9DzB,QAAQ,CAAC0B,UAAU,CAACJ,IAAI,EAAEC,IAAI,CAAC;EACjC,CAAC;EAED,IAAII,SAAc,GAAG,CAAC,CAAC;EAEvB3B,QAAQ,CAAC4B,gBAAgB,GAAG,CAACC,SAAiB,EAAEC,QAAa,KAAK;IAChE,IAAI,CAACH,SAAS,CAACE,SAAS,CAAC,EAAE;MACzBF,SAAS,CAACE,SAAS,CAAC,GAAG,EAAE;IAC3B;IACAF,SAAS,CAACE,SAAS,CAAC,CAACE,IAAI,CAACD,QAAQ,CAAC;EACrC,CAAC;EAED9B,QAAQ,CAACgC,oBAAoB,GAAIC,oBAAyB,IAAK;IAC7DjC,QAAQ,CAAC4B,gBAAgB,CAAC,uBAAuB,EAAEK,oBAAoB,CAAC;EAC1E,CAAC;EAED,MAAMC,cAAc,GAAG,SAAAA,CAAUL,SAAiB,EAAEN,IAAU,EAAE;IAC9D,IAAII,SAAS,IAAIA,SAAS,CAACE,SAAS,CAAC,IAAIF,SAAS,CAACE,SAAS,CAAC,CAACM,MAAM,GAAG,CAAC,EAAE;MACxE,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGT,SAAS,CAACE,SAAS,CAAC,CAACM,MAAM,EAAEC,CAAC,EAAE,EAAE;QACpD,IAAIT,SAAS,CAACE,SAAS,CAAC,CAACO,CAAC,CAAC,EAAE;UAC3BT,SAAS,CAACE,SAAS,CAAC,CAACO,CAAC,CAAC,CAACb,IAAI,CAAC;QAC/B;MACF;IACF;EACF,CAAC;EAED,MAAMc,YAAY,GAAG,IAAIC,+BAAkB,CAACrC,0BAAa,CAACC,QAAQ,CAAC;EAEnEmC,YAAY,CAACE,WAAW,CAAC,cAAc,EAAGC,MAAW,IAAK;IACxD,IAAI;MACF,MAAMC,UAAU,GAAGD,MAAM,YAAYE,MAAM,GAAGF,MAAM,GAAGzB,IAAI,CAACE,KAAK,CAACuB,MAAM,CAAC;MACzE,IAAIC,UAAU,CAACE,iBAAiB,EAAE;QAChC3C,QAAQ,CAACS,mBAAmB,CAAC,CAAC;MAChC;MACAyB,cAAc,CAAC,cAAc,EAAEO,UAAU,CAAC;IAC5C,CAAC,CAAC,OAAOG,GAAG,EAAE,CAAC;EACjB,CAAC,CAAC;EAEFP,YAAY,CAACE,WAAW,CAAC,cAAc,EAAGhB,IAAI,IAAK;IACjD,IAAI;MACF,MAAMsB,QAAQ,GAAGtB,IAAI,YAAYmB,MAAM,GAAGnB,IAAI,GAAGR,IAAI,CAACE,KAAK,CAACM,IAAI,CAAC;MACjEW,cAAc,CAAC,cAAc,EAAEW,QAAQ,CAAC;IAC1C,CAAC,CAAC,OAAOD,GAAG,EAAE,CAAC;EACjB,CAAC,CAAC;EAEFP,YAAY,CAACE,WAAW,CAAC,qBAAqB,EAAGO,cAAc,IAAK;IAClEZ,cAAc,CAAC,qBAAqB,EAAEY,cAAc,CAAC;EACvD,CAAC,CAAC;EAEFT,YAAY,CAACE,WAAW,CAAC,uBAAuB,EAAE,MAAM;IACtDL,cAAc,CAAC,uBAAuB,CAAC;EACzC,CAAC,CAAC;EAEFG,YAAY,CAACE,WAAW,CAAC,cAAc,EAAE,MAAM;IAC7CL,cAAc,CAAC,cAAc,CAAC;EAChC,CAAC,CAAC;EAEFG,YAAY,CAACE,WAAW,CAAC,cAAc,EAAE,MAAM;IAC7CL,cAAc,CAAC,cAAc,CAAC;EAChC,CAAC,CAAC;EAEFG,YAAY,CAACE,WAAW,CAAC,0BAA0B,EAAGQ,gBAAgB,IAAK;IACzEb,cAAc,CAAC,0BAA0B,EAAEa,gBAAgB,CAAC;EAC9D,CAAC,CAAC;EAEFV,YAAY,CAACE,WAAW,CAAC,4BAA4B,EAAGQ,gBAAgB,IAAK;IAC3Eb,cAAc,CAAC,4BAA4B,EAAEa,gBAAgB,CAAC;EAChE,CAAC,CAAC;EAEF,SAASC,YAAYA,CAACC,GAAW,EAAE;IACjC,IAAI;MACFlC,IAAI,CAACE,KAAK,CAACgC,GAAG,CAAC;IACjB,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,OAAO,KAAK;IACd;IACA,OAAO,IAAI;EACb;EAEAb,YAAY,CAACE,WAAW,CAAC,uBAAuB,EAAGhB,IAAS,IAAK;IAC/D,IAAI;MACF,IAAIyB,YAAY,CAACzB,IAAI,CAAC,EAAE;QACtBA,IAAI,GAAGR,IAAI,CAACE,KAAK,CAACM,IAAI,CAAC;MACzB;MACA,MAAM;QAAED;MAAK,CAAC,GAAGC,IAAI;MACrB,IAAID,IAAI,EAAE;QACRY,cAAc,CAAC,uBAAuB,EAAE;UACtCZ;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC,OAAOsB,GAAG,EAAE,CAAC;EACjB,CAAC,CAAC;EAEF5C,QAAQ,CAACmD,oBAAoB,CAAC,CAAC;EAC/BnD,QAAQ,CAACM,OAAO,GAAG,IAAI;AACzB;AAAC,IAAA8C,QAAA,GAEcpD,QAAQ;AAAAqD,OAAA,CAAA1D,OAAA,GAAAyD,QAAA"}
|
|
@@ -4,109 +4,79 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
-
|
|
10
7
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
11
8
|
class GleapNetworkIntercepter {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
_defineProperty(this, "maxRequests", 25);
|
|
18
|
-
|
|
19
|
-
_defineProperty(this, "stopped", false);
|
|
20
|
-
|
|
21
|
-
_defineProperty(this, "updatedCallback", null);
|
|
22
|
-
}
|
|
23
|
-
|
|
9
|
+
requestId = 0;
|
|
10
|
+
requests = {};
|
|
11
|
+
maxRequests = 25;
|
|
12
|
+
stopped = false;
|
|
13
|
+
updatedCallback = null;
|
|
24
14
|
setUpdatedCallback(updatedCallback) {
|
|
25
15
|
this.updatedCallback = updatedCallback;
|
|
26
16
|
}
|
|
27
|
-
|
|
28
17
|
getRequests() {
|
|
29
18
|
return Object.values(this.requests);
|
|
30
19
|
}
|
|
31
|
-
|
|
32
20
|
setMaxRequests(maxRequests) {
|
|
33
21
|
this.maxRequests = maxRequests;
|
|
34
22
|
}
|
|
35
|
-
|
|
36
23
|
setStopped(stopped) {
|
|
37
24
|
this.stopped = stopped;
|
|
38
25
|
}
|
|
39
|
-
|
|
40
26
|
cleanRequests() {
|
|
41
27
|
var keys = Object.keys(this.requests);
|
|
42
|
-
|
|
43
28
|
if (keys.length > this.maxRequests) {
|
|
44
29
|
var keysToRemove = keys.slice(0, keys.length - this.maxRequests);
|
|
45
|
-
|
|
46
30
|
for (var i = 0; i < keysToRemove.length; i++) {
|
|
47
31
|
delete this.requests[keysToRemove[i]];
|
|
48
32
|
}
|
|
49
33
|
}
|
|
50
|
-
|
|
51
34
|
if (this.updatedCallback) {
|
|
52
35
|
this.updatedCallback();
|
|
53
36
|
}
|
|
54
37
|
}
|
|
55
|
-
|
|
56
38
|
calcRequestTime(gleapRequestId) {
|
|
57
39
|
if (!this.requests[gleapRequestId]) {
|
|
58
40
|
return;
|
|
59
41
|
}
|
|
60
|
-
|
|
61
42
|
var startDate = this.requests[gleapRequestId].date;
|
|
62
|
-
|
|
63
43
|
if (startDate && typeof startDate.getTime === 'function' && !Object.isFrozen(this.requests[gleapRequestId])) {
|
|
64
44
|
this.requests[gleapRequestId].duration = new Date().getTime() - startDate.getTime();
|
|
65
45
|
this.requests[gleapRequestId].date = this.requests[gleapRequestId].date.toString();
|
|
66
46
|
}
|
|
67
47
|
}
|
|
68
|
-
|
|
69
48
|
getTextContentSizeOk(text) {
|
|
70
49
|
if (text && text.length) {
|
|
71
50
|
const size = text.length * 16;
|
|
72
51
|
const kiloBytes = size / 1024;
|
|
73
52
|
const megaBytes = kiloBytes / 1024;
|
|
74
|
-
|
|
75
53
|
if (megaBytes < 0.2) {
|
|
76
54
|
return true;
|
|
77
55
|
}
|
|
78
56
|
}
|
|
79
|
-
|
|
80
57
|
return false;
|
|
81
58
|
}
|
|
82
|
-
|
|
83
59
|
prepareContent(text) {
|
|
84
60
|
if (!this.getTextContentSizeOk(text)) {
|
|
85
61
|
return '<content_too_large>';
|
|
86
62
|
}
|
|
87
|
-
|
|
88
63
|
return text;
|
|
89
64
|
}
|
|
90
|
-
|
|
91
65
|
cleanupPayload(payload) {
|
|
92
66
|
if (payload === undefined || payload === null) {
|
|
93
67
|
return '{}';
|
|
94
68
|
}
|
|
95
|
-
|
|
96
69
|
try {
|
|
97
70
|
if (ArrayBuffer.isView(payload)) {
|
|
98
71
|
return `{ type: "binary", length: ${payload.byteLength} }`;
|
|
99
72
|
}
|
|
100
73
|
} catch (exp) {}
|
|
101
|
-
|
|
102
74
|
return payload;
|
|
103
75
|
}
|
|
104
|
-
|
|
105
76
|
preparePayload(payload) {
|
|
106
77
|
var payloadText = this.cleanupPayload(payload);
|
|
107
78
|
return this.prepareContent(payloadText);
|
|
108
79
|
}
|
|
109
|
-
|
|
110
80
|
start() {
|
|
111
81
|
this.setStopped(false);
|
|
112
82
|
this.interceptNetworkRequests({
|
|
@@ -114,7 +84,6 @@ class GleapNetworkIntercepter {
|
|
|
114
84
|
if (this.stopped || params.length === 0) {
|
|
115
85
|
return;
|
|
116
86
|
}
|
|
117
|
-
|
|
118
87
|
if (params.length >= 2 && params[1] !== undefined) {
|
|
119
88
|
var method = params[1].method ? params[1].method : 'GET';
|
|
120
89
|
this.requests[gleapRequestId] = {
|
|
@@ -134,14 +103,12 @@ class GleapNetworkIntercepter {
|
|
|
134
103
|
date: new Date()
|
|
135
104
|
};
|
|
136
105
|
}
|
|
137
|
-
|
|
138
106
|
this.cleanRequests();
|
|
139
107
|
},
|
|
140
108
|
onFetchLoad: (req, gleapRequestId) => {
|
|
141
109
|
if (this.stopped || !gleapRequestId || !this.requests || !this.requests[gleapRequestId]) {
|
|
142
110
|
return;
|
|
143
111
|
}
|
|
144
|
-
|
|
145
112
|
try {
|
|
146
113
|
this.requests[gleapRequestId].success = true;
|
|
147
114
|
this.requests[gleapRequestId].response = {
|
|
@@ -151,7 +118,6 @@ class GleapNetworkIntercepter {
|
|
|
151
118
|
};
|
|
152
119
|
this.calcRequestTime(gleapRequestId);
|
|
153
120
|
} catch (exp) {}
|
|
154
|
-
|
|
155
121
|
req.text().then(responseText => {
|
|
156
122
|
if (this.requests && this.requests[gleapRequestId]) {
|
|
157
123
|
this.requests[gleapRequestId].success = true;
|
|
@@ -173,7 +139,6 @@ class GleapNetworkIntercepter {
|
|
|
173
139
|
if (this.stopped) {
|
|
174
140
|
return;
|
|
175
141
|
}
|
|
176
|
-
|
|
177
142
|
this.requests[gleapRequestId].success = false;
|
|
178
143
|
this.calcRequestTime(gleapRequestId);
|
|
179
144
|
this.cleanRequests();
|
|
@@ -182,7 +147,6 @@ class GleapNetworkIntercepter {
|
|
|
182
147
|
if (this.stopped) {
|
|
183
148
|
return;
|
|
184
149
|
}
|
|
185
|
-
|
|
186
150
|
if (request && request.gleapRequestId && args.length >= 2 && this.requests) {
|
|
187
151
|
this.requests[request.gleapRequestId] = {
|
|
188
152
|
type: args[0],
|
|
@@ -190,21 +154,18 @@ class GleapNetworkIntercepter {
|
|
|
190
154
|
date: new Date()
|
|
191
155
|
};
|
|
192
156
|
}
|
|
193
|
-
|
|
194
157
|
this.cleanRequests();
|
|
195
158
|
},
|
|
196
159
|
onSend: (request, args) => {
|
|
197
160
|
if (this.stopped) {
|
|
198
161
|
return;
|
|
199
162
|
}
|
|
200
|
-
|
|
201
163
|
if (request && request.gleapRequestId && this.requests && this.requests[request.gleapRequestId]) {
|
|
202
164
|
this.requests[request.gleapRequestId].request = {
|
|
203
165
|
payload: this.preparePayload(args.length > 0 ? args[0] : ''),
|
|
204
166
|
headers: request.requestHeaders
|
|
205
167
|
};
|
|
206
168
|
}
|
|
207
|
-
|
|
208
169
|
this.cleanRequests();
|
|
209
170
|
},
|
|
210
171
|
onError: request => {
|
|
@@ -212,27 +173,22 @@ class GleapNetworkIntercepter {
|
|
|
212
173
|
this.requests[request.gleapRequestId].success = false;
|
|
213
174
|
this.calcRequestTime(request.gleapRequestId);
|
|
214
175
|
}
|
|
215
|
-
|
|
216
176
|
this.cleanRequests();
|
|
217
177
|
},
|
|
218
178
|
onLoad: request => {
|
|
219
179
|
if (this.stopped) {
|
|
220
180
|
return;
|
|
221
181
|
}
|
|
222
|
-
|
|
223
182
|
if (request && request.gleapRequestId && this.requests && this.requests[request.gleapRequestId]) {
|
|
224
183
|
const contentType = request.getResponseHeader('content-type');
|
|
225
184
|
const isTextOrJSON = contentType && (contentType.includes('json') || contentType.includes('text'));
|
|
226
185
|
var responseText = '<' + contentType + '>';
|
|
227
|
-
|
|
228
186
|
if (request.responseType === '' || request.responseType === 'text') {
|
|
229
187
|
responseText = request.responseText;
|
|
230
188
|
}
|
|
231
|
-
|
|
232
189
|
if (request._response && isTextOrJSON) {
|
|
233
190
|
responseText = request._response;
|
|
234
191
|
}
|
|
235
|
-
|
|
236
192
|
this.requests[request.gleapRequestId].success = true;
|
|
237
193
|
this.requests[request.gleapRequestId].response = {
|
|
238
194
|
status: request.status,
|
|
@@ -240,95 +196,90 @@ class GleapNetworkIntercepter {
|
|
|
240
196
|
};
|
|
241
197
|
this.calcRequestTime(request.gleapRequestId);
|
|
242
198
|
}
|
|
243
|
-
|
|
244
199
|
this.cleanRequests();
|
|
245
200
|
}
|
|
246
201
|
});
|
|
247
202
|
}
|
|
248
|
-
|
|
249
203
|
interceptNetworkRequests(callback) {
|
|
250
204
|
// eslint-disable-next-line consistent-this
|
|
251
|
-
var self = this;
|
|
205
|
+
var self = this;
|
|
252
206
|
|
|
207
|
+
// @ts-ignore
|
|
253
208
|
if (XMLHttpRequest.prototype.gleapTouched) {
|
|
254
209
|
return;
|
|
255
|
-
}
|
|
256
|
-
|
|
210
|
+
}
|
|
257
211
|
|
|
258
|
-
|
|
212
|
+
// @ts-ignore
|
|
213
|
+
XMLHttpRequest.prototype.gleapTouched = true;
|
|
259
214
|
|
|
215
|
+
// XMLHttpRequest
|
|
260
216
|
const open = XMLHttpRequest.prototype.open;
|
|
261
|
-
const send = XMLHttpRequest.prototype.send;
|
|
217
|
+
const send = XMLHttpRequest.prototype.send;
|
|
262
218
|
|
|
219
|
+
// @ts-ignore
|
|
263
220
|
XMLHttpRequest.prototype.wrappedSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
|
|
264
|
-
|
|
265
221
|
XMLHttpRequest.prototype.setRequestHeader = function (header, value) {
|
|
266
222
|
// @ts-ignore
|
|
267
223
|
if (!this.requestHeaders) {
|
|
268
224
|
// @ts-ignore
|
|
269
225
|
this.requestHeaders = {};
|
|
270
|
-
}
|
|
271
|
-
|
|
226
|
+
}
|
|
272
227
|
|
|
228
|
+
// @ts-ignore
|
|
273
229
|
if (this.requestHeaders && this.requestHeaders.hasOwnProperty(header)) {
|
|
274
230
|
return;
|
|
275
|
-
}
|
|
276
|
-
|
|
231
|
+
}
|
|
277
232
|
|
|
233
|
+
// @ts-ignore
|
|
278
234
|
if (!this.requestHeaders[header]) {
|
|
279
235
|
// @ts-ignore
|
|
280
236
|
this.requestHeaders[header] = [];
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
this.requestHeaders[header].push(value); // @ts-ignore
|
|
237
|
+
}
|
|
285
238
|
|
|
239
|
+
// @ts-ignore
|
|
240
|
+
this.requestHeaders[header].push(value);
|
|
241
|
+
// @ts-ignore
|
|
286
242
|
this.wrappedSetRequestHeader(header, value);
|
|
287
243
|
};
|
|
288
|
-
|
|
289
244
|
XMLHttpRequest.prototype.open = function () {
|
|
290
245
|
this.gleapRequestId = ++self.requestId;
|
|
291
246
|
callback.onOpen && callback.onOpen(this, arguments);
|
|
292
|
-
|
|
293
247
|
if (callback.onLoad) {
|
|
294
248
|
this.addEventListener('load', function () {
|
|
295
249
|
// @ts-ignore
|
|
296
250
|
callback.onLoad(this);
|
|
297
251
|
});
|
|
298
252
|
}
|
|
299
|
-
|
|
300
253
|
if (callback.onError) {
|
|
301
254
|
this.addEventListener('error', function () {
|
|
302
255
|
// @ts-ignore
|
|
303
256
|
callback.onError(this);
|
|
304
257
|
});
|
|
305
|
-
}
|
|
306
|
-
|
|
258
|
+
}
|
|
307
259
|
|
|
260
|
+
// @ts-ignore
|
|
308
261
|
return open.apply(this, arguments);
|
|
309
262
|
};
|
|
310
|
-
|
|
311
263
|
XMLHttpRequest.prototype.send = function () {
|
|
312
|
-
callback.onSend && callback.onSend(this, arguments);
|
|
313
|
-
|
|
264
|
+
callback.onSend && callback.onSend(this, arguments);
|
|
265
|
+
// @ts-ignore
|
|
314
266
|
return send.apply(this, arguments);
|
|
315
|
-
};
|
|
316
|
-
|
|
267
|
+
};
|
|
317
268
|
|
|
269
|
+
// Fetch
|
|
318
270
|
if (global) {
|
|
319
271
|
(function () {
|
|
320
272
|
var originalFetch = global.fetch;
|
|
321
|
-
|
|
322
273
|
global.fetch = function () {
|
|
323
274
|
var gleapRequestId = ++self.requestId;
|
|
324
275
|
callback.onFetch(arguments, gleapRequestId);
|
|
325
|
-
return originalFetch
|
|
276
|
+
return originalFetch
|
|
277
|
+
// @ts-ignore
|
|
326
278
|
.apply(this, arguments).then(function (response) {
|
|
327
279
|
if (response && typeof response.clone === 'function') {
|
|
328
280
|
const data = response.clone();
|
|
329
281
|
callback.onFetchLoad(data, gleapRequestId);
|
|
330
282
|
}
|
|
331
|
-
|
|
332
283
|
return response;
|
|
333
284
|
}).catch(err => {
|
|
334
285
|
callback.onFetchFailed(err, gleapRequestId);
|
|
@@ -337,12 +288,9 @@ class GleapNetworkIntercepter {
|
|
|
337
288
|
};
|
|
338
289
|
})();
|
|
339
290
|
}
|
|
340
|
-
|
|
341
291
|
return callback;
|
|
342
292
|
}
|
|
343
|
-
|
|
344
293
|
}
|
|
345
|
-
|
|
346
294
|
var _default = GleapNetworkIntercepter;
|
|
347
295
|
exports.default = _default;
|
|
348
296
|
//# sourceMappingURL=networklogger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["networklogger.ts"],"names":["GleapNetworkIntercepter","setUpdatedCallback","updatedCallback","getRequests","Object","values","requests","setMaxRequests","maxRequests","setStopped","stopped","cleanRequests","keys","length","keysToRemove","slice","i","calcRequestTime","gleapRequestId","startDate","date","getTime","isFrozen","duration","Date","toString","getTextContentSizeOk","text","size","kiloBytes","megaBytes","prepareContent","cleanupPayload","payload","undefined","ArrayBuffer","isView","byteLength","exp","preparePayload","payloadText","start","interceptNetworkRequests","onFetch","params","method","request","body","headers","type","url","onFetchLoad","req","success","response","status","statusText","responseText","then","catch","_err","onFetchFailed","onOpen","args","onSend","requestHeaders","onError","onLoad","contentType","getResponseHeader","isTextOrJSON","includes","responseType","_response","callback","self","XMLHttpRequest","prototype","gleapTouched","open","send","wrappedSetRequestHeader","setRequestHeader","header","value","hasOwnProperty","push","requestId","arguments","addEventListener","apply","global","originalFetch","fetch","clone","data","err"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nclass GleapNetworkIntercepter {\n requestId = 0;\n requests: any = {};\n maxRequests = 25;\n stopped = false;\n updatedCallback: any = null;\n\n setUpdatedCallback(updatedCallback: any) {\n this.updatedCallback = updatedCallback;\n }\n\n getRequests() {\n return Object.values(this.requests);\n }\n\n setMaxRequests(maxRequests: number) {\n this.maxRequests = maxRequests;\n }\n\n setStopped(stopped: boolean) {\n this.stopped = stopped;\n }\n\n cleanRequests() {\n var keys = Object.keys(this.requests);\n if (keys.length > this.maxRequests) {\n var keysToRemove = keys.slice(0, keys.length - this.maxRequests);\n for (var i = 0; i < keysToRemove.length; i++) {\n delete this.requests[keysToRemove[i]];\n }\n }\n\n if (this.updatedCallback) {\n this.updatedCallback();\n }\n }\n\n calcRequestTime(gleapRequestId: string | number) {\n if (!this.requests[gleapRequestId]) {\n return;\n }\n\n var startDate = this.requests[gleapRequestId].date;\n if (\n startDate &&\n typeof startDate.getTime === 'function' &&\n !Object.isFrozen(this.requests[gleapRequestId])\n ) {\n this.requests[gleapRequestId].duration =\n new Date().getTime() - startDate.getTime();\n this.requests[gleapRequestId].date =\n this.requests[gleapRequestId].date.toString();\n }\n }\n\n getTextContentSizeOk(text: string) {\n if (text && text.length) {\n const size = text.length * 16;\n const kiloBytes = size / 1024;\n const megaBytes = kiloBytes / 1024;\n if (megaBytes < 0.2) {\n return true;\n }\n }\n return false;\n }\n\n prepareContent(text: string) {\n if (!this.getTextContentSizeOk(text)) {\n return '<content_too_large>';\n }\n\n return text;\n }\n\n cleanupPayload(payload: any) {\n if (payload === undefined || payload === null) {\n return '{}';\n }\n\n try {\n if (ArrayBuffer.isView(payload)) {\n return `{ type: \"binary\", length: ${payload.byteLength} }`;\n }\n } catch (exp) {}\n\n return payload;\n }\n\n preparePayload(payload: any) {\n var payloadText = this.cleanupPayload(payload);\n return this.prepareContent(payloadText);\n }\n\n start() {\n this.setStopped(false);\n this.interceptNetworkRequests({\n onFetch: (params: any[], gleapRequestId: any) => {\n if (this.stopped || params.length === 0) {\n return;\n }\n\n if (params.length >= 2 && params[1] !== undefined) {\n var method = params[1].method ? params[1].method : 'GET';\n this.requests[gleapRequestId] = {\n request: {\n payload: this.preparePayload(params[1].body),\n headers: params[1].headers,\n },\n type: method,\n url: params[0],\n date: new Date(),\n };\n } else {\n this.requests[gleapRequestId] = {\n request: {},\n url: params[0],\n type: 'GET',\n date: new Date(),\n };\n }\n\n this.cleanRequests();\n },\n onFetchLoad: (req: any, gleapRequestId: any) => {\n if (\n this.stopped ||\n !gleapRequestId ||\n !this.requests ||\n !this.requests[gleapRequestId]\n ) {\n return;\n }\n\n try {\n this.requests[gleapRequestId].success = true;\n this.requests[gleapRequestId].response = {\n status: req.status,\n statusText: '',\n responseText: '<request_still_open>',\n };\n this.calcRequestTime(gleapRequestId);\n } catch (exp) {}\n\n req\n .text()\n .then((responseText: any) => {\n if (this.requests && this.requests[gleapRequestId]) {\n this.requests[gleapRequestId].success = true;\n this.requests[gleapRequestId].response = {\n status: req.status,\n statusText: req.statusText,\n responseText: this.prepareContent(responseText),\n };\n\n this.calcRequestTime(gleapRequestId);\n this.cleanRequests();\n }\n })\n .catch((_err: any) => {\n if (this) {\n this.cleanRequests();\n }\n });\n },\n onFetchFailed: (_err: any, gleapRequestId: any) => {\n if (this.stopped) {\n return;\n }\n\n this.requests[gleapRequestId].success = false;\n this.calcRequestTime(gleapRequestId);\n this.cleanRequests();\n },\n onOpen: (request: any, args: string | any[]) => {\n if (this.stopped) {\n return;\n }\n\n if (\n request &&\n request.gleapRequestId &&\n args.length >= 2 &&\n this.requests\n ) {\n this.requests[request.gleapRequestId] = {\n type: args[0],\n url: args[1],\n date: new Date(),\n };\n }\n\n this.cleanRequests();\n },\n onSend: (request: any, args: string | any[]) => {\n if (this.stopped) {\n return;\n }\n\n if (\n request &&\n request.gleapRequestId &&\n this.requests &&\n this.requests[request.gleapRequestId]\n ) {\n this.requests[request.gleapRequestId].request = {\n payload: this.preparePayload(args.length > 0 ? args[0] : ''),\n headers: request.requestHeaders,\n };\n }\n\n this.cleanRequests();\n },\n onError: (request: any) => {\n if (\n !this.stopped &&\n this.requests &&\n request &&\n request.gleapRequestId &&\n this.requests[request.gleapRequestId]\n ) {\n this.requests[request.gleapRequestId].success = false;\n this.calcRequestTime(request.gleapRequestId);\n }\n\n this.cleanRequests();\n },\n onLoad: (request: any) => {\n if (this.stopped) {\n return;\n }\n\n if (\n request &&\n request.gleapRequestId &&\n this.requests &&\n this.requests[request.gleapRequestId]\n ) {\n const contentType = request.getResponseHeader('content-type');\n const isTextOrJSON =\n contentType &&\n (contentType.includes('json') || contentType.includes('text'));\n\n var responseText = '<' + contentType + '>';\n if (request.responseType === '' || request.responseType === 'text') {\n responseText = request.responseText;\n }\n if (request._response && isTextOrJSON) {\n responseText = request._response;\n }\n\n this.requests[request.gleapRequestId].success = true;\n this.requests[request.gleapRequestId].response = {\n status: request.status,\n responseText: this.prepareContent(responseText),\n };\n\n this.calcRequestTime(request.gleapRequestId);\n }\n\n this.cleanRequests();\n },\n });\n }\n\n interceptNetworkRequests(callback: any) {\n // eslint-disable-next-line consistent-this\n var self = this;\n\n // @ts-ignore\n if (XMLHttpRequest.prototype.gleapTouched) {\n return;\n }\n\n // @ts-ignore\n XMLHttpRequest.prototype.gleapTouched = true;\n\n // XMLHttpRequest\n const open = XMLHttpRequest.prototype.open;\n const send = XMLHttpRequest.prototype.send;\n\n // @ts-ignore\n XMLHttpRequest.prototype.wrappedSetRequestHeader =\n XMLHttpRequest.prototype.setRequestHeader;\n XMLHttpRequest.prototype.setRequestHeader = function (header, value) {\n // @ts-ignore\n if (!this.requestHeaders) {\n // @ts-ignore\n this.requestHeaders = {};\n }\n\n // @ts-ignore\n if (this.requestHeaders && this.requestHeaders.hasOwnProperty(header)) {\n return;\n }\n\n // @ts-ignore\n if (!this.requestHeaders[header]) {\n // @ts-ignore\n this.requestHeaders[header] = [];\n }\n\n // @ts-ignore\n this.requestHeaders[header].push(value);\n // @ts-ignore\n this.wrappedSetRequestHeader(header, value);\n };\n\n XMLHttpRequest.prototype.open = function () {\n (this as any).gleapRequestId = ++self.requestId;\n callback.onOpen && callback.onOpen(this, arguments);\n\n if (callback.onLoad) {\n this.addEventListener('load', function () {\n // @ts-ignore\n callback.onLoad(this);\n });\n }\n if (callback.onError) {\n this.addEventListener('error', function () {\n // @ts-ignore\n callback.onError(this);\n });\n }\n\n // @ts-ignore\n return open.apply(this, arguments);\n };\n\n XMLHttpRequest.prototype.send = function () {\n callback.onSend && callback.onSend(this, arguments);\n // @ts-ignore\n return send.apply(this, arguments);\n };\n\n // Fetch\n if (global) {\n (function () {\n var originalFetch = global.fetch;\n global.fetch = function () {\n var gleapRequestId = ++self.requestId;\n callback.onFetch(arguments, gleapRequestId);\n\n return (\n originalFetch\n // @ts-ignore\n .apply(this, arguments)\n .then(function (response) {\n if (response && typeof response.clone === 'function') {\n const data = response.clone();\n callback.onFetchLoad(data, gleapRequestId);\n }\n\n return response;\n })\n .catch((err) => {\n callback.onFetchFailed(err, gleapRequestId);\n throw err;\n })\n );\n };\n })();\n }\n\n return callback;\n }\n}\n\nexport default GleapNetworkIntercepter;\n"]}
|
|
1
|
+
{"version":3,"names":["GleapNetworkIntercepter","requestId","requests","maxRequests","stopped","updatedCallback","setUpdatedCallback","getRequests","Object","values","setMaxRequests","setStopped","cleanRequests","keys","length","keysToRemove","slice","i","calcRequestTime","gleapRequestId","startDate","date","getTime","isFrozen","duration","Date","toString","getTextContentSizeOk","text","size","kiloBytes","megaBytes","prepareContent","cleanupPayload","payload","undefined","ArrayBuffer","isView","byteLength","exp","preparePayload","payloadText","start","interceptNetworkRequests","onFetch","params","method","request","body","headers","type","url","onFetchLoad","req","success","response","status","statusText","responseText","then","catch","_err","onFetchFailed","onOpen","args","onSend","requestHeaders","onError","onLoad","contentType","getResponseHeader","isTextOrJSON","includes","responseType","_response","callback","self","XMLHttpRequest","prototype","gleapTouched","open","send","wrappedSetRequestHeader","setRequestHeader","header","value","hasOwnProperty","push","arguments","addEventListener","apply","global","originalFetch","fetch","clone","data","err","_default","exports","default"],"sourceRoot":"../../src","sources":["networklogger.ts"],"mappings":"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"}
|