ApiClient constructor

ApiClient({
  1. required String baseUrl,
  2. Map<String, dynamic>? headers,
})

Implementation

factory ApiClient({required String baseUrl, Map<String, dynamic>? headers}) {
  final dio = Dio(BaseOptions(
    baseUrl: baseUrl,
    connectTimeout: const Duration(seconds: 10),
    receiveTimeout: const Duration(seconds: 10),
    headers: headers ?? {"Content-Type": "application/json"},
  ));

  // ✅ Attach interceptors
  dio.interceptors.add(CustomInterceptors());
  dio.interceptors.add(LogInterceptor(
    request: true,
    requestBody: true,
    responseBody: true,
    error: true,
  ));

  return ApiClient._internal(dio);
}