package com.apollographql.apollo.exception;
import javax.annotation.Nullable;
import okhttp3.Response;
public final class ApolloHttpException extends ApolloException {
private final int code;
private final String message;
private final transient Response rawResponse;
public ApolloHttpException(@Nullable okhttp3.Response rawResponse) {
super(formatMessage(rawResponse));
this.code = rawResponse != null ? rawResponse.code() : 0;
this.message = rawResponse != null ? rawResponse.message() : "";
this.rawResponse = rawResponse;
}
public int code() {
return code;
}
public String message() {
return message;
}
@Nullable public Response rawResponse() {
return rawResponse;
}
private static String formatMessage(Response response) {
if (response == null) {
return "Empty HTTP response";
}
return "HTTP " + response.code() + " " + response.message();
}
}