code: protected void deliveryAsyncResult(Request request, HttpCallback<?> callback) {
          Util.log("onDelivery:" + request.url().toString());
          final HttpCallback<?> resCallBack = callback == null ? new DefaultCallback() : callback;
  
          //Call start
          callStart(resCallBack, request);
  
          mOkHttpClient.newCall(request).enqueue(new Callback() {
              public void onFailure(Call call, IOException e) {
                  Util.log("onFailure:" + call.request().toString());
                  callFailure(resCallBack, call.request(), null, e);
                  callFinish(resCallBack);
              }
  
              public void onResponse(Call call, Response response) {
                  try {
                      Object ret = null;
                      final String string = response.body().string();
                      final boolean haveValue = !TextUtils.isEmpty(string);
  
                      Util.log("onResponse:Code:%d Body:%s.", response.code(), (haveValue ? string : "null"));
  
                      if (haveValue) {
                          ret = mResolver.analysis(string, resCallBack.getClass());
                      }
  
                      callSuccess(resCallBack, ret, response.code());
                  } catch (Exception e) {
                      Util.log("onResponse Failure:" + response.request().toString());
                      callFailure(resCallBack, response.request(), response, e);
                  }
                  callFinish(resCallBack);
              }
          });
      }
docs: ============Delivery============