/** * post JSON data to server * * @param url * @param json * @param callBack */ public void post(String url, String json, final HttpCallBack callBack) { RequestBody body = RequestBody.create(MEDIA_TYPE_JSON, json); Request request = new Request.Builder().url(url).post(body).build(); Response response = null; try { response = mOkHttpClient.newCall(request).execute(); if (response.isSuccessful()) { callBack.onSuccess(response.body().string()); } else { callBack.onError(new Exception("Unexpected code " + response)); } } catch (IOException e) { e.printStackTrace(); callBack.onError(e); } }
/** * 响应Http请求异常的回调 * * @param error 原因 */ public void deliverError(KJHttpException error) { if (mCallback != null) { int errorNo; String strMsg; if (error != null) { if (error.networkResponse != null) { errorNo = error.networkResponse.statusCode; } else { errorNo = -1; } strMsg = error.getMessage(); } else { errorNo = -1; strMsg = "unknow"; } mCallback.onFailure(errorNo, strMsg); } }
/** Http请求完成(不论成功失败) */ public void requestFinish() { mCallback.onFinish(); }
/** * Http请求成功后,在异步调用本方法,本方法执行完成才会继续调用onSuccess() * * @param t 请求成功后的数据 */ protected void onAsyncSuccess(byte[] t) { if (mCallback != null) { mCallback.onSuccessInAsync(t); } }