react-native-gleapsdk 6.3.0 → 6.3.4
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/README.md +1 -1
- package/android/build.gradle +1 -1
- package/lib/commonjs/networklogger.js +2 -2
- package/lib/commonjs/networklogger.js.map +1 -1
- package/lib/module/networklogger.js +2 -2
- package/lib/module/networklogger.js.map +1 -1
- package/package.json +1 -1
- package/react-native-gleapsdk.podspec +1 -1
- package/src/networklogger.ts +1 -2
package/README.md
CHANGED
package/android/build.gradle
CHANGED
|
@@ -56,6 +56,6 @@ dependencies {
|
|
|
56
56
|
//noinspection GradleDynamicVersion
|
|
57
57
|
implementation "com.facebook.react:react-native:+" // From node_modules
|
|
58
58
|
// https://mvnrepository.com/artifact/io.gleap/gleap-android-sdk
|
|
59
|
-
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '6.3.
|
|
59
|
+
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '6.3.7'
|
|
60
60
|
|
|
61
61
|
}
|
|
@@ -144,9 +144,9 @@ class BugBattleNetworkIntercepter {
|
|
|
144
144
|
return;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
if (request && request.gleapRequestId &&
|
|
147
|
+
if (request && request.gleapRequestId && this.requests && this.requests[request.gleapRequestId]) {
|
|
148
148
|
this.requests[request.gleapRequestId].request = {
|
|
149
|
-
payload: args[0],
|
|
149
|
+
payload: args.length > 0 ? args[0] : '',
|
|
150
150
|
headers: request.requestHeaders
|
|
151
151
|
};
|
|
152
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["networklogger.ts"],"names":["BugBattleNetworkIntercepter","getRequests","Object","values","requests","setMaxRequests","maxRequests","setStopped","stopped","cleanRequests","keys","length","keysToRemove","slice","i","calcRequestTime","gleapRequestId","startDate","date","isFrozen","duration","Date","getTime","toString","contentSizeOk","text","size","kiloBytes","megaBytes","start","interceptNetworkRequests","onFetch","params","method","request","payload","body","headers","type","url","onFetchLoad","req","then","responseText","success","response","status","statusText","onFetchFailed","_err","onOpen","args","onSend","requestHeaders","onError","onLoad","contentType","getResponseHeader","isTextOrJSON","includes","responseType","_response","callback","self","open","XMLHttpRequest","prototype","send","wrappedSetRequestHeader","setRequestHeader","header","value","push","requestId","arguments","addEventListener","apply","global","originalFetch","fetch","data","textData","Promise","resolve","json","JSON","parse","catch","err"],"mappings":"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","sourcesContent":["class BugBattleNetworkIntercepter {\n requestId = 0;\n requests: any = {};\n maxRequests = 10;\n stopped = false;\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\n calcRequestTime(gleapRequestId: string | number) {\n if (!this.requests[gleapRequestId]) {\n return;\n }\n\n var startDate = this.requests[gleapRequestId].date;\n if (startDate && !Object.isFrozen(this.requests[gleapRequestId])) {\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 contentSizeOk(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.5) {\n return true;\n }\n }\n return false;\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: 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 (this.stopped) {\n return;\n }\n\n req.text().then((responseText: any) => {\n this.requests[gleapRequestId].success = true;\n this.requests[gleapRequestId].response = {\n status: req.status,\n statusText: req.statusText,\n responseText: this.contentSizeOk(responseText)\n ? responseText\n : '<response_too_large>',\n };\n\n this.calcRequestTime(gleapRequestId);\n this.cleanRequests();\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 args.length > 0 &&\n this.requests &&\n this.requests[request.gleapRequestId]\n ) {\n this.requests[request.gleapRequestId].request = {\n payload: 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.contentSizeOk(responseText)\n ? responseText\n : '<response_too_large>',\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 // 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 this.wrappedSetRequestHeader(header, value);\n\n // @ts-ignore\n if (!this.requestHeaders) {\n // @ts-ignore\n this.requestHeaders = {};\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 };\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 (data) {\n return data.text().then((textData) => {\n data.text = function () {\n return Promise.resolve(textData);\n };\n\n data.json = function () {\n return Promise.resolve(JSON.parse(textData));\n };\n\n callback.onFetchLoad(data, gleapRequestId);\n\n return data;\n });\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 BugBattleNetworkIntercepter;\n"]}
|
|
1
|
+
{"version":3,"sources":["networklogger.ts"],"names":["BugBattleNetworkIntercepter","getRequests","Object","values","requests","setMaxRequests","maxRequests","setStopped","stopped","cleanRequests","keys","length","keysToRemove","slice","i","calcRequestTime","gleapRequestId","startDate","date","isFrozen","duration","Date","getTime","toString","contentSizeOk","text","size","kiloBytes","megaBytes","start","interceptNetworkRequests","onFetch","params","method","request","payload","body","headers","type","url","onFetchLoad","req","then","responseText","success","response","status","statusText","onFetchFailed","_err","onOpen","args","onSend","requestHeaders","onError","onLoad","contentType","getResponseHeader","isTextOrJSON","includes","responseType","_response","callback","self","open","XMLHttpRequest","prototype","send","wrappedSetRequestHeader","setRequestHeader","header","value","push","requestId","arguments","addEventListener","apply","global","originalFetch","fetch","data","textData","Promise","resolve","json","JSON","parse","catch","err"],"mappings":"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","sourcesContent":["class BugBattleNetworkIntercepter {\n requestId = 0;\n requests: any = {};\n maxRequests = 10;\n stopped = false;\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\n calcRequestTime(gleapRequestId: string | number) {\n if (!this.requests[gleapRequestId]) {\n return;\n }\n\n var startDate = this.requests[gleapRequestId].date;\n if (startDate && !Object.isFrozen(this.requests[gleapRequestId])) {\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 contentSizeOk(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.5) {\n return true;\n }\n }\n return false;\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: 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 (this.stopped) {\n return;\n }\n\n req.text().then((responseText: any) => {\n this.requests[gleapRequestId].success = true;\n this.requests[gleapRequestId].response = {\n status: req.status,\n statusText: req.statusText,\n responseText: this.contentSizeOk(responseText)\n ? responseText\n : '<response_too_large>',\n };\n\n this.calcRequestTime(gleapRequestId);\n this.cleanRequests();\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: 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.contentSizeOk(responseText)\n ? responseText\n : '<response_too_large>',\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 // 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 this.wrappedSetRequestHeader(header, value);\n\n // @ts-ignore\n if (!this.requestHeaders) {\n // @ts-ignore\n this.requestHeaders = {};\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 };\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 (data) {\n return data.text().then((textData) => {\n data.text = function () {\n return Promise.resolve(textData);\n };\n\n data.json = function () {\n return Promise.resolve(JSON.parse(textData));\n };\n\n callback.onFetchLoad(data, gleapRequestId);\n\n return data;\n });\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 BugBattleNetworkIntercepter;\n"]}
|
|
@@ -137,9 +137,9 @@ class BugBattleNetworkIntercepter {
|
|
|
137
137
|
return;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
if (request && request.gleapRequestId &&
|
|
140
|
+
if (request && request.gleapRequestId && this.requests && this.requests[request.gleapRequestId]) {
|
|
141
141
|
this.requests[request.gleapRequestId].request = {
|
|
142
|
-
payload: args[0],
|
|
142
|
+
payload: args.length > 0 ? args[0] : '',
|
|
143
143
|
headers: request.requestHeaders
|
|
144
144
|
};
|
|
145
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["networklogger.ts"],"names":["BugBattleNetworkIntercepter","getRequests","Object","values","requests","setMaxRequests","maxRequests","setStopped","stopped","cleanRequests","keys","length","keysToRemove","slice","i","calcRequestTime","gleapRequestId","startDate","date","isFrozen","duration","Date","getTime","toString","contentSizeOk","text","size","kiloBytes","megaBytes","start","interceptNetworkRequests","onFetch","params","method","request","payload","body","headers","type","url","onFetchLoad","req","then","responseText","success","response","status","statusText","onFetchFailed","_err","onOpen","args","onSend","requestHeaders","onError","onLoad","contentType","getResponseHeader","isTextOrJSON","includes","responseType","_response","callback","self","open","XMLHttpRequest","prototype","send","wrappedSetRequestHeader","setRequestHeader","header","value","push","requestId","arguments","addEventListener","apply","global","originalFetch","fetch","data","textData","Promise","resolve","json","JSON","parse","catch","err"],"mappings":"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","sourcesContent":["class BugBattleNetworkIntercepter {\n requestId = 0;\n requests: any = {};\n maxRequests = 10;\n stopped = false;\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\n calcRequestTime(gleapRequestId: string | number) {\n if (!this.requests[gleapRequestId]) {\n return;\n }\n\n var startDate = this.requests[gleapRequestId].date;\n if (startDate && !Object.isFrozen(this.requests[gleapRequestId])) {\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 contentSizeOk(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.5) {\n return true;\n }\n }\n return false;\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: 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 (this.stopped) {\n return;\n }\n\n req.text().then((responseText: any) => {\n this.requests[gleapRequestId].success = true;\n this.requests[gleapRequestId].response = {\n status: req.status,\n statusText: req.statusText,\n responseText: this.contentSizeOk(responseText)\n ? responseText\n : '<response_too_large>',\n };\n\n this.calcRequestTime(gleapRequestId);\n this.cleanRequests();\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 args.length > 0 &&\n this.requests &&\n this.requests[request.gleapRequestId]\n ) {\n this.requests[request.gleapRequestId].request = {\n payload: 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.contentSizeOk(responseText)\n ? responseText\n : '<response_too_large>',\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 // 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 this.wrappedSetRequestHeader(header, value);\n\n // @ts-ignore\n if (!this.requestHeaders) {\n // @ts-ignore\n this.requestHeaders = {};\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 };\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 (data) {\n return data.text().then((textData) => {\n data.text = function () {\n return Promise.resolve(textData);\n };\n\n data.json = function () {\n return Promise.resolve(JSON.parse(textData));\n };\n\n callback.onFetchLoad(data, gleapRequestId);\n\n return data;\n });\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 BugBattleNetworkIntercepter;\n"]}
|
|
1
|
+
{"version":3,"sources":["networklogger.ts"],"names":["BugBattleNetworkIntercepter","getRequests","Object","values","requests","setMaxRequests","maxRequests","setStopped","stopped","cleanRequests","keys","length","keysToRemove","slice","i","calcRequestTime","gleapRequestId","startDate","date","isFrozen","duration","Date","getTime","toString","contentSizeOk","text","size","kiloBytes","megaBytes","start","interceptNetworkRequests","onFetch","params","method","request","payload","body","headers","type","url","onFetchLoad","req","then","responseText","success","response","status","statusText","onFetchFailed","_err","onOpen","args","onSend","requestHeaders","onError","onLoad","contentType","getResponseHeader","isTextOrJSON","includes","responseType","_response","callback","self","open","XMLHttpRequest","prototype","send","wrappedSetRequestHeader","setRequestHeader","header","value","push","requestId","arguments","addEventListener","apply","global","originalFetch","fetch","data","textData","Promise","resolve","json","JSON","parse","catch","err"],"mappings":"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","sourcesContent":["class BugBattleNetworkIntercepter {\n requestId = 0;\n requests: any = {};\n maxRequests = 10;\n stopped = false;\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\n calcRequestTime(gleapRequestId: string | number) {\n if (!this.requests[gleapRequestId]) {\n return;\n }\n\n var startDate = this.requests[gleapRequestId].date;\n if (startDate && !Object.isFrozen(this.requests[gleapRequestId])) {\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 contentSizeOk(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.5) {\n return true;\n }\n }\n return false;\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: 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 (this.stopped) {\n return;\n }\n\n req.text().then((responseText: any) => {\n this.requests[gleapRequestId].success = true;\n this.requests[gleapRequestId].response = {\n status: req.status,\n statusText: req.statusText,\n responseText: this.contentSizeOk(responseText)\n ? responseText\n : '<response_too_large>',\n };\n\n this.calcRequestTime(gleapRequestId);\n this.cleanRequests();\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: 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.contentSizeOk(responseText)\n ? responseText\n : '<response_too_large>',\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 // 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 this.wrappedSetRequestHeader(header, value);\n\n // @ts-ignore\n if (!this.requestHeaders) {\n // @ts-ignore\n this.requestHeaders = {};\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 };\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 (data) {\n return data.text().then((textData) => {\n data.text = function () {\n return Promise.resolve(textData);\n };\n\n data.json = function () {\n return Promise.resolve(JSON.parse(textData));\n };\n\n callback.onFetchLoad(data, gleapRequestId);\n\n return data;\n });\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 BugBattleNetworkIntercepter;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-gleapsdk",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.4",
|
|
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/networklogger.ts
CHANGED
|
@@ -138,12 +138,11 @@ class BugBattleNetworkIntercepter {
|
|
|
138
138
|
if (
|
|
139
139
|
request &&
|
|
140
140
|
request.gleapRequestId &&
|
|
141
|
-
args.length > 0 &&
|
|
142
141
|
this.requests &&
|
|
143
142
|
this.requests[request.gleapRequestId]
|
|
144
143
|
) {
|
|
145
144
|
this.requests[request.gleapRequestId].request = {
|
|
146
|
-
payload: args[0],
|
|
145
|
+
payload: args.length > 0 ? args[0] : '',
|
|
147
146
|
headers: request.requestHeaders,
|
|
148
147
|
};
|
|
149
148
|
}
|