ApiClient constructor

ApiClient(
  1. SecureStorageService _secureStorage, {
  2. required String baseUrl,
  3. Duration connectionTimeout = const Duration(seconds: 45),
})

Implementation

ApiClient(
  this._secureStorage, {
  required this.baseUrl,
  this.connectionTimeout = const Duration(seconds: 45),
}) {
  _dio = Dio(
    BaseOptions(
      baseUrl: baseUrl,
      connectTimeout: connectionTimeout,
      receiveTimeout: _receiveTimeout,
      contentType: 'application/json',
      responseType: ResponseType.json,
      headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json',
      },
    ),
  );

  // Add interceptors
  _dio.interceptors.add(_TokenInterceptor(_secureStorage));
  _dio.interceptors.add(_ErrorInterceptor());

  // Logging in debug mode
  if (kDebugMode) {
    _dio.interceptors.add(
      LogInterceptor(requestBody: true, responseBody: true),
    );
  }
}