request<T> method

Future request<T>(
  1. String baseUrl, {
  2. DioMethod dioMethod = DioMethod.get,
  3. String? path = '',
  4. dynamic data,
  5. Map<String, dynamic>? queryParameter,
  6. Options? options,
  7. Map<String, dynamic>? header,
})

Implementation

Future request<T>(String baseUrl,
    {DioMethod dioMethod = DioMethod.get,
    String? path = '',
    dynamic data,
    Map<String, dynamic>? queryParameter,
    Options? options,
    Map<String, dynamic>? header}) async {
  try {
    BaseOptions baseOptions = BaseOptions(
        baseUrl: baseUrl,
        receiveDataWhenStatusError: false,
        responseType: ResponseType.json,
        connectTimeout: 60000,
        receiveTimeout: 3000,
        headers: header);

    _dio = Dio(baseOptions)..interceptors.addAll(logInterceptor());

    (_dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
        (client) {
      client.badCertificateCallback =
          (X509Certificate cert, String host, int port) {
        return true;
      };
    };

    //GET FEATURE DATA
    var response = await _dio.request(
      path!,
      data: data,
      onSendProgress: (received, total) {
        if (total != -1) {

        }
      },
      queryParameters: queryParameter,
      options: Options(method: _apiTypeCollection[dioMethod]),
    );

    return response.data;
  } on DioError catch (e) {
    return throw(dioReturnError(e));
  }
}