Я использую Retrofit 2 в своем проекте с интерфейсом Observable и обертой результата. Пример:
@POST("api/login")
Observable<Result<LoginResponse>> login(@Body LoginRequest request);
Мне нужна обертка результатов, чтобы получить больше информации из ответа, чем просто сериализованный объект (например, заголовки, http status...).
Проблема заключается в том, что с оберткой результата исключение вызывает сетевой вызов. Вы можете найти исключение внутри результата, вызвав Result.error().
Что делать, если я хочу воспользоваться операторами ошибок RxJava? Например, я хотел бы использовать оператор повтора для сетевой ошибки, но оператор повторения работает только в том случае, если наблюдаемое исключение генерируется исключением.