send<T> method

  1. @override
Future<HiNetResponse<T>> send<T>(
  1. HiNetBaseRequest request
)
override

Implementation

@override
Future<HiNetResponse<T>> send<T>(HiNetBaseRequest request) async {
  dynamic response, options = Options(headers: request.header);
  dynamic error;
  try {
    if (request.httpMethod() == HttpMethod.GET) {
      response = await Dio().get(request.url(), options: options);
    } else if (request.httpMethod() == HttpMethod.POST) {
      response = await Dio()
          .post(request.url(), data: request.params, options: options);
    } else if (request.httpMethod() == HttpMethod.DELETE) {
      response = await Dio()
          .delete(request.url(), data: request.params, options: options);
    }
  } on DioError catch (e) {
    error = e;
    response = e.response;
  }
  if (error != null) {
    ///抛出HiNetError
    throw HiNetError(response?.statusCode ?? -1, error.toString(),
        data: await buildRes(response, request));
  }
  return buildRes(response, request);
}