request<T> method

Future<T> request<T>(
  1. String url, {
  2. String? method,
  3. dynamic data,
  4. Map<String, dynamic>? headers,
  5. Map<String, dynamic>? extra,
  6. bool showLoading = false,
})

Implementation

Future<T> request<T>(
  String url, {
  String? method,
  data,
  Map<String, dynamic>? headers,
  Map<String, dynamic>? extra,
  bool showLoading = false,
}) async {
  try {
    Options options = Options(
      method: method ?? HttpType.post.name,
      extra: extra,
      headers: headers,
    );

    if (showLoading) {
      CommonHelper.showLoading();
    }
    Response response = await _dio.request(url,
        queryParameters: data, data: data, options: options);
    if (showLoading) {
      CommonHelper.hideLoading();
    }
    return response.data;
  } on DioException catch (e) {
    if (showLoading) {
      CommonHelper.hideLoading();
    }
    var message = DioErrorHandle.handleError(e);
    CommonHelper.showToast(message);
    if (e.type == DioExceptionType.badResponse) {
      return Future.error(e.toString());
    } else {
      throw e.toString();
    }
  }
}