Compression for sync
This commit is contained in:
@@ -9,6 +9,7 @@ object CommonHeaders {
|
|||||||
const val ACCEPT = "Accept"
|
const val ACCEPT = "Accept"
|
||||||
const val CONTENT_DISPOSITION = "Content-Disposition"
|
const val CONTENT_DISPOSITION = "Content-Disposition"
|
||||||
const val COOKIE = "Cookie"
|
const val COOKIE = "Cookie"
|
||||||
|
const val CONTENT_ENCODING = "Content-Encoding"
|
||||||
|
|
||||||
val CACHE_CONTROL_DISABLED: CacheControl
|
val CACHE_CONTROL_DISABLED: CacheControl
|
||||||
get() = CacheControl.Builder().noStore().build()
|
get() = CacheControl.Builder().noStore().build()
|
||||||
|
|||||||
@@ -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.json.mapJSONTo
|
||||||
import org.koitharu.kotatsu.parsers.util.parseJson
|
import org.koitharu.kotatsu.parsers.util.parseJson
|
||||||
import org.koitharu.kotatsu.sync.data.AccountInterceptor
|
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.toContentValues
|
||||||
import org.koitharu.kotatsu.utils.ext.toJson
|
import org.koitharu.kotatsu.utils.ext.toJson
|
||||||
import org.koitharu.kotatsu.utils.ext.toRequestBody
|
import org.koitharu.kotatsu.utils.ext.toRequestBody
|
||||||
@@ -40,6 +41,7 @@ class SyncHelper(
|
|||||||
|
|
||||||
private val httpClient = OkHttpClient.Builder()
|
private val httpClient = OkHttpClient.Builder()
|
||||||
.addInterceptor(AccountInterceptor(context, account))
|
.addInterceptor(AccountInterceptor(context, account))
|
||||||
|
.addInterceptor(GZipInterceptor())
|
||||||
.build()
|
.build()
|
||||||
private val baseUrl = context.getString(R.string.url_sync_server)
|
private val baseUrl = context.getString(R.string.url_sync_server)
|
||||||
|
|
||||||
|
|||||||
@@ -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())
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user