@Override public void onResponse(@Nonnull ApolloInterceptor.InterceptorResponse response) { Response httpResponse = response.httpResponse.get(); try { Optional<Callback> callback = terminate(); if (!callback.isPresent()) { logger.d("onResponse for prefetch operation: %s. No callback present.", operation().name().name()); return; } if (httpResponse.isSuccessful()) { callback.get().onSuccess(); } else { callback.get().onHttpError(new ApolloHttpException(httpResponse)); } } finally { httpResponse.close(); } }
@Override public void onResponse(@Nonnull ApolloInterceptor.InterceptorResponse response) { Response httpResponse = response.httpResponse.get(); try { Optional<Callback> callback = terminate(); if (!callback.isPresent()) { logger.d("onResponse for prefetch operation: %s. No callback present.", operation().name().name()); return; } if (httpResponse.isSuccessful()) { callback.get().onSuccess(); } else { callback.get().onHttpError(new ApolloHttpException(httpResponse)); } } finally { httpResponse.close(); } }
@Override public void onFailure(@Nonnull ApolloException e) { Optional<Callback> callback = terminate(); if (!callback.isPresent()) { logger.e(e, "onFailure for prefetch operation: %s. No callback present.", operation().name().name()); return; } if (e instanceof ApolloHttpException) { callback.get().onHttpError((ApolloHttpException) e); } else if (e instanceof ApolloNetworkException) { callback.get().onNetworkError((ApolloNetworkException) e); } else { callback.get().onFailure(e); } }
@Override public void onFailure(@Nonnull ApolloException e) { Optional<Callback> callback = terminate(); if (!callback.isPresent()) { logger.e(e, "onFailure for prefetch operation: %s. No callback present.", operation().name().name()); return; } if (e instanceof ApolloHttpException) { callback.get().onHttpError((ApolloHttpException) e); } else if (e instanceof ApolloNetworkException) { callback.get().onNetworkError((ApolloNetworkException) e); } else { callback.get().onFailure(e); } }
@Override public void run() { delegate.onHttpError(e); } });