DioClient constructor

DioClient(
  1. Dio? dio, {
  2. List<Interceptor>? interceptors,
  3. String? baseUrl,
  4. required Connectivity connectivity,
})

Creates a DioClient instance.

Implementation

DioClient(
  Dio? dio, {
  this.interceptors,
  this.baseUrl,
  required this.connectivity,
}) {
  _dio = dio ?? Dio();
  (_dio.httpClientAdapter as IOHttpClientAdapter).createHttpClient = () =>
      HttpClient()
        ..badCertificateCallback =
            (X509Certificate cert, String host, int port) => true;

  _dio
    ..options = BaseOptions(
      baseUrl: ChapaUrl.directChargeBaseUrl,
      connectTimeout: const Duration(seconds: 30),
      receiveTimeout: const Duration(seconds: 30),
      followRedirects: false,
    )
    ..httpClientAdapter
    ..options.headers = {'Content-Type': 'application/json'};
  if (interceptors?.isNotEmpty ?? false) {
    _dio.interceptors.addAll(interceptors!);
  }
}