-
-
Notifications
You must be signed in to change notification settings - Fork 123
/
Copy pathokhttp3.js
40 lines (39 loc) · 1.65 KB
/
okhttp3.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Java.perform(function () {
try {
let OkHttpClient = Java.use('okhttp3.OkHttpClient');
OkHttpClient.newCall.overload('okhttp3.Request').implementation = function (request) {
let logData = {
url: request.url().toString(),
method: request.method(),
headers: {},
body: null
};
let headers = request.headers();
let headerNames = headers.names().toArray();
for (let i = 0; i < headerNames.length; i++) {
logData.headers[headerNames[i]] = headers.get(headerNames[i]);
}
if (request.body()) {
logData.body = request.body().toString();
}
console.log('[Request - OkHttpClient]');
console.log(JSON.stringify(logData, null, 2));
let response = this.newCall(request).execute();
let responseData = {
statusCode: response.code(),
headers: {},
body: response.body().string()
};
let responseHeaders = response.headers();
let responseHeaderNames = responseHeaders.names().toArray();
for (let i = 0; i < responseHeaderNames.length; i++) {
responseData.headers[responseHeaderNames[i]] = responseHeaders.get(responseHeaderNames[i]);
}
console.log('[Response - OkHttpClient]');
console.log(JSON.stringify(responseData, null, 4));
return this.newCall(request);
};
} catch (error) {
//console.error('OkHttpClient not found or there was an issue hooking it.');
}
});