DioHttpService.internal constructor

DioHttpService.internal()

Implementation

DioHttpService.internal() {
  /// Interceptor for pretty logging of Dio requests and responses
  final Interceptor prettyInterceptor = PrettyDioLogger(
    requestHeader: true,
    requestBody: true,
    responseBody: true,
    responseHeader: false,
    error: true,
    compact: true,
    maxWidth: 90,
  );

  /// Initialize the Dio instance with default options and adapters
  _dio = Dio(BaseOptions(connectTimeout: const Duration(milliseconds: 10000)))
    ..httpClientAdapter = Http2Adapter(ConnectionManager())
    ..interceptors.add(
      LogInterceptor(
        request: true,
        requestBody: false,
        requestHeader: false,
        responseBody: false,
        responseHeader: false,
      ),
    );

  /// Add the pretty logger interceptor only in debug mode
  if (kDebugMode) {
    _dio.interceptors.add(prettyInterceptor);
  }
}