AppDio constructor

AppDio({
  1. BaseOptions? options,
  2. HttpConfig? dioConfig,
})

Implementation

AppDio({BaseOptions? options, HttpConfig? dioConfig}) {
  options ??= BaseOptions(
    baseUrl: dioConfig?.baseUrl ?? "",
    contentType: 'application/json',
    connectTimeout: dioConfig?.connectTimeout,
    sendTimeout: dioConfig?.sendTimeout,
    receiveTimeout: dioConfig?.receiveTimeout,
  );
  this.options = options;

  if (kDebugMode) {
    interceptors.add(LogInterceptor(
        responseBody: true,
        error: true,
        requestHeader: false,
        responseHeader: false,
        request: false,
        requestBody: true));
  }
  if (dioConfig?.interceptors?.isNotEmpty ?? false) {
    interceptors.addAll(dioConfig!.interceptors!);
  }
  httpClientAdapter = DefaultHttpClientAdapter();
  if (dioConfig?.proxy?.isNotEmpty ?? false) {
    setProxy(dioConfig!.proxy!);
  } else {
    (httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate =
        (client) {
      client.badCertificateCallback = (cert, host, port) {
        return true;
      };
    };
  }
}