retrofit2.HttpException при переходе с Rx на корутины

Перевожу проект с RxJava на корутины и столкнулся с такой проблемой. Когда отсутствует интернет при попытке запроса на сервер приложение падает с ошибкой:

retrofit2.HttpException: HTTP 504 Unsatisfiable Request (only-if-cached) at com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory$BodyCallAdapter$adapt$2.onResponse(CoroutineCallAdapterFactory.kt:104)

Использую интерцептор для кеширования.

  val okHttpClient = OkHttpClient().newBuilder()
        .addNetworkInterceptor(ResponseCacheInterceptor())
        .addInterceptor(OfflineResponseCacheInterceptor(context))
        .addInterceptor(loggingInterceptor)
        .addInterceptor(interceptor)
        .cache(Cache(File(context.cacheDir, "ResponsesCache"), (10 * 1024 * 1024).toLong()))
        .connectTimeout(20, TimeUnit.SECONDS)
        .readTimeout(20, TimeUnit.SECONDS)
        .writeTimeout(20, TimeUnit.SECONDS)
        .build()

    val retrofit = Retrofit.Builder()
        .baseUrl(BuildConfig.BASE_URL)
        .addConverterFactory(GsonConverterFactory.create())
        .addCallAdapterFactory(CoroutineCallAdapterFactory())
        .client(okHttpClient)
        .build()

С RxJavaCallAdapterFactory все работало нормально. В чем может быть проблема?


Ответы (0 шт):