Browse Source

Add network header logging in debug builds

arkon 4 years ago
parent
commit
3b4b1185e2
1 changed files with 18 additions and 6 deletions
  1. 18 6
      app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt

+ 18 - 6
app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt

@@ -1,10 +1,12 @@
 package eu.kanade.tachiyomi.network
 
 import android.content.Context
+import eu.kanade.tachiyomi.BuildConfig
 import java.io.File
 import java.util.concurrent.TimeUnit
 import okhttp3.Cache
 import okhttp3.OkHttpClient
+import okhttp3.logging.HttpLoggingInterceptor
 
 class NetworkHelper(context: Context) {
 
@@ -14,12 +16,22 @@ class NetworkHelper(context: Context) {
 
     val cookieManager = AndroidCookieJar()
 
-    val client = OkHttpClient.Builder()
-        .cookieJar(cookieManager)
-        .cache(Cache(cacheDir, cacheSize))
-        .connectTimeout(30, TimeUnit.SECONDS)
-        .readTimeout(30, TimeUnit.SECONDS)
-        .build()
+    val client by lazy {
+        val builder = OkHttpClient.Builder()
+            .cookieJar(cookieManager)
+            .cache(Cache(cacheDir, cacheSize))
+            .connectTimeout(30, TimeUnit.SECONDS)
+            .readTimeout(30, TimeUnit.SECONDS)
+
+        if (BuildConfig.DEBUG) {
+            val httpLoggingInterceptor = HttpLoggingInterceptor().apply {
+                level = HttpLoggingInterceptor.Level.HEADERS
+            }
+            builder.addInterceptor(httpLoggingInterceptor)
+        }
+
+        builder.build()
+    }
 
     val cloudflareClient = client.newBuilder()
         .addInterceptor(UserAgentInterceptor())