Код: Выделить всё
if (App.specialFlag) {
// Somehow stop request
} else {
return chain.proceed(chain.request());
}
Но мы не видим никаких методов остановки запроса в перехватчиках OkHttp.
Мы придумали два способа решения нашей проблемы:
а) Создать специальный ApiService.class
code> для упаковки каждого запроса в нашем API следующим образом:
Код: Выделить всё
public Observable getUserDetails() {
if (App.specialFlag) {
return Observable.just(null);
}
return api.getUserDetails();
}
б) Вызовите исключение RuntimeException в Interceptor, а затем перехватывать его везде, где мы используем наш API.
Второе решение тоже не очень хорошее, поскольку нам нужно включить в наши цепочки множество операторов onErrorResumeNext.
Может кто-нибудь знает, как поступить в нашей ситуации более «умнее»?..
Заранее спасибо!
Подробнее здесь: https://stackoverflow.com/questions/375 ... nterceptor