package com.yeshi.base.utils.http;
|
|
import android.annotation.SuppressLint;
|
import android.util.Log;
|
|
import com.lcjian.library.util.security.DEScrypt;
|
import com.loopj.android.http.TextHttpResponseHandler;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
public abstract class BasicTextHttpResponseHandler extends
|
TextHttpResponseHandler {
|
|
private static final String TAG = "BasicTextHttpResponseHandler";
|
|
public abstract void onSuccessPerfect(int statusCode, Header[] headers,
|
JSONObject jsonObject) throws Exception;
|
|
@SuppressLint("LongLogTag")
|
@Override
|
public void onSuccess(int statusCode, Header[] headers,
|
String responseString) {
|
try {
|
responseString = DEScrypt.decode(responseString);
|
Log.v(TAG,
|
"onSuccess statusCode:" + statusCode
|
+ System.getProperty("line.separator") + "headers:"
|
+ headers.toString()
|
+ System.getProperty("line.separator")
|
+ "responseString:" + responseString
|
+ System.getProperty("line.separator"));
|
JSONObject jsonObject = new JSONObject(responseString);
|
if (jsonObject.getBoolean("IsPost")) {
|
Log.i(TAG, "onSuccess 处理成功");
|
} else {
|
Log.i(TAG, "onSuccess 处理失败:" + jsonObject.getString("Error"));
|
}
|
onSuccessPerfect(statusCode, headers, jsonObject);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
@SuppressLint("LongLogTag")
|
@Override
|
public void onFailure(int statusCode, Header[] headers,
|
String responseString, Throwable throwable) {
|
responseString = DEScrypt.decode(responseString);
|
Log.i(TAG,
|
"onFailure statusCode:" + statusCode
|
+ System.getProperty("line.separator") + "headers:"
|
+ toHeadersString(headers)
|
+ System.getProperty("line.separator")
|
+ "responseString:" + responseString
|
+ System.getProperty("line.separator") + "throwable:"
|
+ throwable.getMessage());
|
}
|
|
private String toHeadersString(Header[] headers) {
|
StringBuilder builder = new StringBuilder();
|
if (headers != null) {
|
for (Header header : headers) {
|
builder.append(header.toString() + ";");
|
}
|
}
|
return builder.toString();
|
}
|
}
|