package com.yutou.okhttp; import okhttp3.Headers; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; public abstract class HttpCallback implements Callback> { public abstract void onResponse(Headers headers,int code, String status, T response, String rawResponse); public abstract void onFailure(Throwable throwable); @Override public void onResponse(Call> call, Response> response) { if (response.body() != null) { onResponse( response.headers(), response.body().getRetcode(), response.body().getStatus(), response.body().getData(), response.body().getSrc() ); } else { onFailure(new NullPointerException("response body is null")); } call.cancel(); } @Override public void onFailure(Call> call, Throwable throwable) { onFailure(throwable); call.cancel(); } }