|
24 | 24 | package com.owncloud.android.lib.common.http
|
25 | 25 |
|
26 | 26 | import com.owncloud.android.lib.common.http.LogBuilder.toLogString
|
| 27 | +import com.owncloud.android.lib.common.http.NetworkNode.* |
| 28 | +import com.owncloud.android.lib.common.http.NetworkPetition.* |
27 | 29 | import okhttp3.Interceptor
|
28 | 30 | import okhttp3.Response
|
29 | 31 | import timber.log.Timber
|
30 | 32 |
|
31 | 33 | class LogInterceptor : Interceptor {
|
32 | 34 |
|
33 | 35 | override fun intercept(chain: Interceptor.Chain): Response {
|
34 |
| - // Log request |
35 |
| - chain.request().let { |
36 |
| - Timber.d(toLogString(NetworkPetition.REQUEST, NetworkNode.INFO, "Type: ${it.method} URL: ${it.url}")) |
37 |
| - it.headers.forEach { header -> |
38 |
| - Timber.d(toLogString(NetworkPetition.REQUEST, NetworkNode.HEADER, header.toString())) |
39 |
| - } |
40 |
| - Timber.d(toLogString(NetworkPetition.REQUEST, NetworkNode.BODY, it.body.toString())) |
41 |
| - } |
42 | 36 |
|
43 | 37 | val response = chain.proceed(chain.request())
|
44 | 38 |
|
45 |
| - // Log response |
46 |
| - response.let { |
47 |
| - Timber.d(toLogString(NetworkPetition.RESPONSE, NetworkNode.INFO, "RequestId: ${it.request.header(HttpConstants.OC_X_REQUEST_ID)}")) |
48 |
| - Timber.d(toLogString(NetworkPetition.RESPONSE, NetworkNode.INFO, "Code: ${it.code} Message: ${it.message} IsSuccessful: ${it.isSuccessful}")) |
49 |
| - it.headers.forEach { header -> |
50 |
| - Timber.d(toLogString(NetworkPetition.RESPONSE, NetworkNode.HEADER, header.toString())) |
| 39 | + return response.also { |
| 40 | + if (httpLogsEnabled) { |
| 41 | + // Log request |
| 42 | + Timber.d( |
| 43 | + toLogString(REQUEST, INFO, "Type: ${it.request.method} URL: ${it.request.url}") |
| 44 | + ) |
| 45 | + it.headers.forEach { header -> |
| 46 | + Timber.d(toLogString(REQUEST, HEADER, header.toString())) |
| 47 | + } |
| 48 | + Timber.d(toLogString(REQUEST, BODY, it.body.toString())) |
| 49 | + |
| 50 | + // Log response |
| 51 | + Timber.d(toLogString(RESPONSE, INFO, "RequestId: ${it.request.header(HttpConstants.OC_X_REQUEST_ID)}")) |
| 52 | + Timber.d( |
| 53 | + toLogString( |
| 54 | + RESPONSE, |
| 55 | + INFO, |
| 56 | + "Code: ${it.code} Message: ${it.message} IsSuccessful: ${it.isSuccessful}" |
| 57 | + ) |
| 58 | + ) |
| 59 | + it.headers.forEach { header -> |
| 60 | + Timber.d(toLogString(RESPONSE, HEADER, header.toString())) |
| 61 | + } |
| 62 | + Timber.d(toLogString(RESPONSE, BODY, it.body.toString())) |
| 63 | + |
51 | 64 | }
|
52 |
| - Timber.d(toLogString(NetworkPetition.RESPONSE, NetworkNode.BODY, it.body.toString())) |
53 | 65 | }
|
| 66 | + } |
54 | 67 |
|
55 |
| - return response |
| 68 | + companion object { |
| 69 | + var httpLogsEnabled: Boolean = false |
56 | 70 | }
|
57 | 71 | }
|
0 commit comments