package com.itbox.fx.net; import org.apache.http.Header; import org.apache.http.client.HttpResponseException; import com.loopj.android.http.AsyncHttpResponseHandler; /** * @author hyh creat_at:2013-7-31-上午8:57:24 */ public class HaveCacheResponseHandler extends AsyncHttpResponseHandler { private String requestStr; private String webApiName; public HaveCacheResponseHandler() { super(); } @Override protected void handleFailureMessage(Throwable e, String responseBody) { super.handleFailureMessage(e, responseBody);// 触发onFailure(e, // responseBody); if (e instanceof HttpResponseException) { int statusCode = ((HttpResponseException) e).getStatusCode(); onFailure(e, statusCode, responseBody); } else { onFailure(e, 0, responseBody); } } @Override protected void handleSuccessMessage(int statusCode, Header[] headers, String responseBody) { NetCache.addCache(webApiName, requestStr, statusCode, headers, responseBody);// 根据requestStr,进行缓存 super.handleSuccessMessage(statusCode, headers, responseBody); } /** * * @param statusCode 不是HttpResponseException时为0 * @param content */ protected void onFailure(Throwable e, int statusCode, String content) { } public void setRequestInfo(String webApi, String request) { requestStr = request; webApiName = webApi; } }