react-native-gleapsdk 7.0.6 → 7.0.9
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/build.gradle +9 -7
- package/android/src/main/java/com/reactnativegleapsdk/GleapsdkModule.java +27 -12
- package/ios/Gleapsdk.m +12 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/networklogger.js +1 -1
- package/lib/commonjs/networklogger.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/networklogger.js +1 -1
- package/lib/module/networklogger.js.map +1 -1
- package/lib/typescript/index.d.ts +2 -0
- package/package.json +1 -1
- package/react-native-gleapsdk.podspec +1 -1
- package/src/index.tsx +2 -0
- package/src/networklogger.ts +1 -1
package/android/build.gradle
CHANGED
|
@@ -53,14 +53,16 @@ repositories {
|
|
|
53
53
|
|
|
54
54
|
dependencies {
|
|
55
55
|
implementation "com.facebook.react:react-native:+"
|
|
56
|
-
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '7.0.
|
|
56
|
+
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '7.0.28'
|
|
57
57
|
|
|
58
|
-
if(rootProject
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
58
|
+
if(rootProject && rootProject.ext) {
|
|
59
|
+
if(rootProject.ext.targetSdkVersion == 30 || rootProject.ext.compileSdkVersion == 30) {
|
|
60
|
+
implementation( "androidx.appcompat:appcompat:1.3.0") {
|
|
61
|
+
force = true
|
|
62
|
+
}
|
|
63
|
+
implementation( "com.google.android.material:material:1.4.0") {
|
|
64
|
+
force = true
|
|
65
|
+
}
|
|
64
66
|
}
|
|
65
67
|
}
|
|
66
68
|
}
|
|
@@ -26,6 +26,7 @@ import java.io.FileOutputStream;
|
|
|
26
26
|
import java.io.OutputStream;
|
|
27
27
|
import java.util.ArrayList;
|
|
28
28
|
import java.util.Base64;
|
|
29
|
+
import java.util.LinkedList;
|
|
29
30
|
import java.util.regex.Matcher;
|
|
30
31
|
import java.util.regex.Pattern;
|
|
31
32
|
|
|
@@ -35,6 +36,7 @@ import io.gleap.Gleap;
|
|
|
35
36
|
import io.gleap.GleapActivationMethod;
|
|
36
37
|
import io.gleap.GleapLogLevel;
|
|
37
38
|
import io.gleap.GleapUserProperties;
|
|
39
|
+
import io.gleap.Networklog;
|
|
38
40
|
import io.gleap.PrefillHelper;
|
|
39
41
|
import io.gleap.RequestType;
|
|
40
42
|
import io.gleap.UserSessionController;
|
|
@@ -389,20 +391,25 @@ public class GleapsdkModule extends ReactContextBaseJavaModule implements Lifecy
|
|
|
389
391
|
@Override
|
|
390
392
|
public void run() {
|
|
391
393
|
JSONObject jsonObject = null;
|
|
392
|
-
|
|
393
|
-
String email = "";
|
|
394
|
+
GleapUserProperties gleapUserSession = new GleapUserProperties();
|
|
394
395
|
try {
|
|
395
396
|
jsonObject = GleapUtil.convertMapToJson(data);
|
|
396
397
|
if (jsonObject.has("name")) {
|
|
397
|
-
|
|
398
|
+
gleapUserSession.setName(jsonObject.getString("name"));
|
|
398
399
|
}
|
|
399
400
|
if (jsonObject.has("email")) {
|
|
400
|
-
|
|
401
|
+
gleapUserSession.setEmail(jsonObject.getString("email"));
|
|
402
|
+
}
|
|
403
|
+
if (jsonObject.has("phone")) {
|
|
404
|
+
gleapUserSession.setPhoneNumber(jsonObject.getString("phone"));
|
|
405
|
+
}
|
|
406
|
+
if(jsonObject.has("value")) {
|
|
407
|
+
gleapUserSession.setValue(jsonObject.getDouble("value"));
|
|
401
408
|
}
|
|
402
409
|
} catch (JSONException e) {
|
|
403
410
|
e.printStackTrace();
|
|
404
411
|
}
|
|
405
|
-
|
|
412
|
+
|
|
406
413
|
if (Gleap.getInstance() == null) {
|
|
407
414
|
return;
|
|
408
415
|
}
|
|
@@ -422,20 +429,24 @@ public class GleapsdkModule extends ReactContextBaseJavaModule implements Lifecy
|
|
|
422
429
|
@Override
|
|
423
430
|
public void run() {
|
|
424
431
|
JSONObject jsonObject = null;
|
|
425
|
-
|
|
426
|
-
String email = "";
|
|
432
|
+
GleapUserProperties gleapUserSession = new GleapUserProperties();
|
|
427
433
|
try {
|
|
428
434
|
jsonObject = GleapUtil.convertMapToJson(data);
|
|
429
435
|
if (jsonObject.has("name")) {
|
|
430
|
-
|
|
436
|
+
gleapUserSession.setName(jsonObject.getString("name"));
|
|
431
437
|
}
|
|
432
438
|
if (jsonObject.has("email")) {
|
|
433
|
-
|
|
439
|
+
gleapUserSession.setEmail(jsonObject.getString("email"));
|
|
440
|
+
}
|
|
441
|
+
if (jsonObject.has("phone")) {
|
|
442
|
+
gleapUserSession.setPhoneNumber(jsonObject.getString("phone"));
|
|
443
|
+
}
|
|
444
|
+
if(jsonObject.has("value")) {
|
|
445
|
+
gleapUserSession.setValue(jsonObject.getDouble("value"));
|
|
434
446
|
}
|
|
435
447
|
} catch (JSONException e) {
|
|
436
448
|
e.printStackTrace();
|
|
437
449
|
}
|
|
438
|
-
GleapUserProperties gleapUserSession = new GleapUserProperties(name, email);
|
|
439
450
|
gleapUserSession.setHash(hash);
|
|
440
451
|
if (Gleap.getInstance() == null) {
|
|
441
452
|
return;
|
|
@@ -579,6 +590,9 @@ public class GleapsdkModule extends ReactContextBaseJavaModule implements Lifecy
|
|
|
579
590
|
public void attachNetworkLog(String networkLog) {
|
|
580
591
|
try {
|
|
581
592
|
JSONArray object = new JSONArray(networkLog);
|
|
593
|
+
|
|
594
|
+
Networklog[] networklogs = new Networklog[object.length()];
|
|
595
|
+
|
|
582
596
|
for (int i = 0; i < object.length(); i++) {
|
|
583
597
|
JSONObject currentRequest = (JSONObject) object.get(i);
|
|
584
598
|
JSONObject response = (JSONObject) currentRequest.get("response");
|
|
@@ -586,11 +600,13 @@ public class GleapsdkModule extends ReactContextBaseJavaModule implements Lifecy
|
|
|
586
600
|
if (currentRequest.has("request")) {
|
|
587
601
|
request = (JSONObject) currentRequest.get("request");
|
|
588
602
|
}
|
|
589
|
-
|
|
603
|
+
networklogs[i] = new Networklog(currentRequest.getString("url"),
|
|
590
604
|
RequestType.valueOf(currentRequest.getString("type")), response.getInt("status"),
|
|
591
605
|
currentRequest.getInt("duration"), request, response);
|
|
592
606
|
}
|
|
593
607
|
|
|
608
|
+
Gleap.getInstance().attachNetworkLogs(networklogs);
|
|
609
|
+
|
|
594
610
|
} catch (Exception ex) {
|
|
595
611
|
System.out.println(ex);
|
|
596
612
|
}
|
|
@@ -667,7 +683,6 @@ public class GleapsdkModule extends ReactContextBaseJavaModule implements Lifecy
|
|
|
667
683
|
System.err.println("Gleap: The file is not existing.");
|
|
668
684
|
}
|
|
669
685
|
}
|
|
670
|
-
|
|
671
686
|
} catch (Exception e) {
|
|
672
687
|
e.printStackTrace();
|
|
673
688
|
}
|
package/ios/Gleapsdk.m
CHANGED
|
@@ -268,7 +268,12 @@ RCT_EXPORT_METHOD(identifyWithUserHash:(NSString *)userId withUserProperties: (N
|
|
|
268
268
|
if (userProperties != nil && [userProperties objectForKey: @"email"] != nil) {
|
|
269
269
|
userProperty.email = [userProperties objectForKey: @"email"];
|
|
270
270
|
}
|
|
271
|
-
|
|
271
|
+
if (userProperties != nil && [userProperties objectForKey: @"phone"] != nil) {
|
|
272
|
+
userProperty.phone = [userProperties objectForKey: @"phone"];
|
|
273
|
+
}
|
|
274
|
+
if (userProperties != nil && [userProperties objectForKey: @"value"] != nil) {
|
|
275
|
+
userProperty.value = [userProperties objectForKey: @"value"];
|
|
276
|
+
}
|
|
272
277
|
[Gleap identifyUserWith: userId andData: userProperty andUserHash: userHash];
|
|
273
278
|
});
|
|
274
279
|
}
|
|
@@ -283,7 +288,12 @@ RCT_EXPORT_METHOD(identify:(NSString *)userId withUserProperties: (NSDictionary
|
|
|
283
288
|
if (userProperties != nil && [userProperties objectForKey: @"email"] != nil) {
|
|
284
289
|
userProperty.email = [userProperties objectForKey: @"email"];
|
|
285
290
|
}
|
|
286
|
-
|
|
291
|
+
if (userProperties != nil && [userProperties objectForKey: @"phone"] != nil) {
|
|
292
|
+
userProperty.phone = [userProperties objectForKey: @"phone"];
|
|
293
|
+
}
|
|
294
|
+
if (userProperties != nil && [userProperties objectForKey: @"value"] != nil) {
|
|
295
|
+
userProperty.value = [userProperties objectForKey: @"value"];
|
|
296
|
+
}
|
|
287
297
|
[Gleap identifyUserWith: userId andData: userProperty];
|
|
288
298
|
});
|
|
289
299
|
}
|
|
@@ -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","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","data","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","isJsonString","str","e","name","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};\n\ntype GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';\n\ntype GleapSdkType = {\n initialize(token: string): void;\n startFeedbackFlow(feedbackFlow: 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 close(): void;\n isOpened(): boolean;\n identify(userId: string, userProperties: GleapUserProperty): void;\n identifyWithUserHash(\n userId: string,\n userProperties: GleapUserProperty,\n userHash: string\n ): 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 registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): void;\n log(message: string): void;\n logWithLogLevel(message: string, logLevel: 'INFO' | 'WARNING' | 'ERROR'): void;\n logEvent(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};\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 (requests && GleapSdk && typeof GleapSdk.attachNetworkLog !== 'undefined') {\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 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 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,"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","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","data","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","isJsonString","str","e","name","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};\n\ntype GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';\n\ntype GleapSdkType = {\n initialize(token: string): void;\n startFeedbackFlow(feedbackFlow: 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 close(): void;\n isOpened(): boolean;\n identify(userId: string, userProperties: GleapUserProperty): void;\n identifyWithUserHash(\n userId: string,\n userProperties: GleapUserProperty,\n userHash: string\n ): 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 registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): void;\n log(message: string): void;\n logWithLogLevel(message: string, logLevel: 'INFO' | 'WARNING' | 'ERROR'): void;\n logEvent(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};\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 (requests && GleapSdk && typeof GleapSdk.attachNetworkLog !== 'undefined') {\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 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 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 +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","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 = 10;\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) {\n return;\n }\n\n if (params.length >= 2) {\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,"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","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) {\n return;\n }\n\n if (params.length >= 2) {\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"]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":["NativeModules","NativeEventEmitter","Platform","GleapNetworkIntercepter","LINKING_ERROR","select","ios","default","GleapSdk","Gleapsdk","Proxy","get","Error","touched","networkLogger","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","data","length","i","gleapEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","isJsonString","str","e","name","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};\n\ntype GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';\n\ntype GleapSdkType = {\n initialize(token: string): void;\n startFeedbackFlow(feedbackFlow: 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 close(): void;\n isOpened(): boolean;\n identify(userId: string, userProperties: GleapUserProperty): void;\n identifyWithUserHash(\n userId: string,\n userProperties: GleapUserProperty,\n userHash: string\n ): 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 registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): void;\n log(message: string): void;\n logWithLogLevel(message: string, logLevel: 'INFO' | 'WARNING' | 'ERROR'): void;\n logEvent(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};\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 (requests && GleapSdk && typeof GleapSdk.attachNetworkLog !== 'undefined') {\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 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 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,"sources":["index.tsx"],"names":["NativeModules","NativeEventEmitter","Platform","GleapNetworkIntercepter","LINKING_ERROR","select","ios","default","GleapSdk","Gleapsdk","Proxy","get","Error","touched","networkLogger","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","data","length","i","gleapEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","isJsonString","str","e","name","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};\n\ntype GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';\n\ntype GleapSdkType = {\n initialize(token: string): void;\n startFeedbackFlow(feedbackFlow: 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 close(): void;\n isOpened(): boolean;\n identify(userId: string, userProperties: GleapUserProperty): void;\n identifyWithUserHash(\n userId: string,\n userProperties: GleapUserProperty,\n userHash: string\n ): 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 registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): void;\n log(message: string): void;\n logWithLogLevel(message: string, logLevel: 'INFO' | 'WARNING' | 'ERROR'): void;\n logEvent(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};\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 (requests && GleapSdk && typeof GleapSdk.attachNetworkLog !== 'undefined') {\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 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 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 +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","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 = 10;\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) {\n return;\n }\n\n if (params.length >= 2) {\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,"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","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) {\n return;\n }\n\n if (params.length >= 2) {\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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-gleapsdk",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.9",
|
|
4
4
|
"description": "Know exactly why and how a bug happened. Get reports with screenshots, live action replays and all of the important metadata every time.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
package/src/index.tsx
CHANGED