private val okHttpClient = OkHttpClient.Builder().apply {
cache(
Cache(context.cacheDir, 500 * 1024 * 1024)
)
addInterceptor {
val request: Request = it.request()
if (true) {
Log.d("GetIsConnectionSocket", "Подключение к серверу: ${it.call().execute().isSuccessful}")
// Если есть подключение к серверу, используйте сетевой запрос
request.newBuilder().apply {
header("Cache-Control", "public, max-age=" + 365)
}.build()
Log.d("GetStateCache", "Данные из кеша не используются")
} else {
Log.d("GetIsConnectionSocket", "Подключение к серверу: ${it.call().execute().isSuccessful}")
// Если нет подключения, используйте запрос из кэша
request.newBuilder().apply {
header("Cache-Control", "public, only-if-cached, max-stale=" + 60 * 60 * 24 * 7)
}.build()
Log.d("GetStateCache", "Данные из кеша используются")
}
it.proceed(request)
}
}.build()