Search in sources :

Example 1 with IHttpCallback

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"));
                    }
                }
            });
        }
    });
}
Also used : HttpResponse(com.qiyei.sdk.https.server.HttpResponse) Response(okhttp3.Response) Call(okhttp3.Call) IHttpTransferCallback(com.qiyei.sdk.https.server.IHttpTransferCallback) IHttpCallback(com.qiyei.sdk.https.server.IHttpCallback) Callback(okhttp3.Callback) HttpResponse(com.qiyei.sdk.https.server.HttpResponse) IOException(java.io.IOException) IOException(java.io.IOException)

Example 2 with IHttpCallback

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"));
                    }
                }
            });
        }
    });
}
Also used : HttpResponse(com.qiyei.sdk.https.server.HttpResponse) Response(okhttp3.Response) Call(okhttp3.Call) IHttpTransferCallback(com.qiyei.sdk.https.server.IHttpTransferCallback) IHttpCallback(com.qiyei.sdk.https.server.IHttpCallback) Callback(okhttp3.Callback) HttpResponse(com.qiyei.sdk.https.server.HttpResponse) IOException(java.io.IOException) IOException(java.io.IOException)

Aggregations

HttpResponse (com.qiyei.sdk.https.server.HttpResponse)2 IHttpCallback (com.qiyei.sdk.https.server.IHttpCallback)2 IHttpTransferCallback (com.qiyei.sdk.https.server.IHttpTransferCallback)2 IOException (java.io.IOException)2 Call (okhttp3.Call)2 Callback (okhttp3.Callback)2 Response (okhttp3.Response)2