use of com.qiyei.sdk.https.server.IHttpCallback in project EssayJoke by qiyei2015.
the class OkHttpEngine method enqueuePostCall.
@Override
public <T, R> void enqueuePostCall(final HttpTask<T> task, final IHttpCallback<R> callback) {
Call call = OkHttpHelper.buildPostCall(mClient, task);
if (call == null) {
return;
}
// 添加call
HttpCallManager.getInstance().addCall(task.getTaskId(), call);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, final IOException e) {
// 移除call
HttpCallManager.getInstance().removeCall(task.getTaskId());
mHandler.post(new Runnable() {
@Override
public void run() {
callback.onFailure(e);
}
});
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
// 移除call
HttpCallManager.getInstance().removeCall(task.getTaskId());
String result = null;
if (response != null && response.isSuccessful()) {
result = response.body().string();
}
final R obj = (R) HttpUtil.parseJson(result, task.getListener().getClass(), true);
final HttpResponse<R> responseObj = new HttpResponse<R>(obj);
mHandler.post(new Runnable() {
@Override
public void run() {
if (responseObj != null) {
callback.onSuccess(responseObj);
} else {
callback.onFailure(new Exception("response is null"));
}
}
});
}
});
}
use of com.qiyei.sdk.https.server.IHttpCallback in project EssayJoke by qiyei2015.
the class OkHttpEngine method enqueueGetCall.
@Override
public <T, R> void enqueueGetCall(final HttpTask<T> task, final IHttpCallback<R> callback) {
Call call = OkHttpHelper.buildGetCall(mClient, task);
if (call == null) {
return;
}
// 添加call
HttpCallManager.getInstance().addCall(task.getTaskId(), call);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, final IOException e) {
// 移除call
HttpCallManager.getInstance().removeCall(task.getTaskId());
mHandler.post(new Runnable() {
@Override
public void run() {
callback.onFailure(e);
}
});
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
// 移除call
HttpCallManager.getInstance().removeCall(task.getTaskId());
String result = null;
if (response != null && response.isSuccessful()) {
result = response.body().string();
}
final R obj = (R) HttpUtil.parseJson(result, task.getListener().getClass(), true);
final HttpResponse<R> responseObj = new HttpResponse<R>(obj);
mHandler.post(new Runnable() {
@Override
public void run() {
if (responseObj != null) {
callback.onSuccess(responseObj);
} else {
callback.onFailure(new Exception("response is null"));
}
}
});
}
});
}
Aggregations