diff --git a/app/src/main/java/org/koitharu/kotatsu/core/network/CommonHeaders.kt b/app/src/main/java/org/koitharu/kotatsu/core/network/CommonHeaders.kt index 2f7d73b6b..de4404f1a 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/network/CommonHeaders.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/network/CommonHeaders.kt @@ -9,6 +9,7 @@ object CommonHeaders { const val ACCEPT = "Accept" const val CONTENT_DISPOSITION = "Content-Disposition" const val COOKIE = "Cookie" + const val CONTENT_ENCODING = "Content-Encoding" val CACHE_CONTROL_DISABLED: CacheControl get() = CacheControl.Builder().noStore().build() diff --git a/app/src/main/java/org/koitharu/kotatsu/sync/domain/SyncHelper.kt b/app/src/main/java/org/koitharu/kotatsu/sync/domain/SyncHelper.kt index 114f6d027..2b78a3e9d 100644 --- a/app/src/main/java/org/koitharu/kotatsu/sync/domain/SyncHelper.kt +++ b/app/src/main/java/org/koitharu/kotatsu/sync/domain/SyncHelper.kt @@ -19,6 +19,7 @@ import org.koitharu.kotatsu.core.db.MangaDatabase.Companion.TABLE_TAGS import org.koitharu.kotatsu.parsers.util.json.mapJSONTo import org.koitharu.kotatsu.parsers.util.parseJson import org.koitharu.kotatsu.sync.data.AccountInterceptor +import org.koitharu.kotatsu.utils.GZipInterceptor import org.koitharu.kotatsu.utils.ext.toContentValues import org.koitharu.kotatsu.utils.ext.toJson import org.koitharu.kotatsu.utils.ext.toRequestBody @@ -40,6 +41,7 @@ class SyncHelper( private val httpClient = OkHttpClient.Builder() .addInterceptor(AccountInterceptor(context, account)) + .addInterceptor(GZipInterceptor()) .build() private val baseUrl = context.getString(R.string.url_sync_server) diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/GZipInterceptor.kt b/app/src/main/java/org/koitharu/kotatsu/utils/GZipInterceptor.kt new file mode 100644 index 000000000..5da93ae8a --- /dev/null +++ b/app/src/main/java/org/koitharu/kotatsu/utils/GZipInterceptor.kt @@ -0,0 +1,14 @@ +package org.koitharu.kotatsu.utils + +import okhttp3.Interceptor +import okhttp3.Response +import org.koitharu.kotatsu.core.network.CommonHeaders.CONTENT_ENCODING + +class GZipInterceptor : Interceptor { + + override fun intercept(chain: Interceptor.Chain): Response { + val newRequest = chain.request().newBuilder() + newRequest.addHeader(CONTENT_ENCODING, "gzip") + return chain.proceed(newRequest.build()) + } +} \ No newline at end of file