use of com.qiyei.sdk.https.server.IHttpTransferCallback in project EssayJoke by qiyei2015.
the class OkHttpEngine method enqueueDownloadCall.
@Override
public <T, R> void enqueueDownloadCall(final HttpTask<T> task, final IHttpTransferCallback<R> callback) {
Call call = OkHttpHelper.buildDownloadCall(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 {
ResponseBody responseBody = new ProgressResponseBody(response.body(), callback);
// read the body to file
BufferedSource source = responseBody.source();
File outFile = new File(task.getRequest().getFilePath());
outFile.delete();
outFile.getParentFile().mkdirs();
outFile.createNewFile();
BufferedSink sink = Okio.buffer(Okio.sink(outFile));
source.readAll(sink);
sink.flush();
source.close();
mHandler.post(new Runnable() {
@Override
public void run() {
String success = "success";
final HttpResponse responseObj = new HttpResponse(success);
callback.onSuccess(responseObj);
}
});
// 移除call
HttpCallManager.getInstance().removeCall(task.getTaskId());
}
});
}
use of com.qiyei.sdk.https.server.IHttpTransferCallback in project EssayJoke by qiyei2015.
the class OkHttpEngine method enqueueUploadCall.
@Override
public <T, R> void enqueueUploadCall(final HttpTask<T> task, final IHttpTransferCallback<R> callback) {
Call call = OkHttpHelper.buildUploadCall(mClient, task, callback);
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 {
ResponseBody responseBody = new ProgressResponseBody(response.body(), callback);
// read the body to file
BufferedSource source = responseBody.source();
File outFile = new File(task.getRequest().getFilePath());
outFile.delete();
outFile.getParentFile().mkdirs();
outFile.createNewFile();
BufferedSink sink = Okio.buffer(Okio.sink(outFile));
source.readAll(sink);
sink.flush();
source.close();
mHandler.post(new Runnable() {
@Override
public void run() {
String success = "success";
final HttpResponse responseObj = new HttpResponse(success);
callback.onSuccess(responseObj);
}
});
// 移除call
HttpCallManager.getInstance().removeCall(task.getTaskId());
}
});
}
Aggregations