NewsApi constructor

NewsApi({
  1. required String apiKey,
  2. BaseOptions? dioOptions,
  3. List<Interceptor>? interceptors,
  4. bool debugLog = false,
})

Implementation

NewsApi({
  required String apiKey,
  BaseOptions? dioOptions,
  List<Interceptor>? interceptors,
  bool debugLog = false,
}) {
  _apiKey = apiKey;

  dioOptions ??= BaseOptions();
  dioOptions.responseType = ResponseType.json;
  dioOptions.contentType = Headers.jsonContentType;
  dioOptions.headers['Authorization'] = _apiKey;

  _dio = Dio(dioOptions);

  if (debugLog) {
    (interceptors ??= []).add(
      PrettyDioLogger(
        requestHeader: true,
        requestBody: true,
        responseBody: true,
        responseHeader: false,
        error: true,
        compact: true,
        maxWidth: 128,
      ),
    );
  }
  if (interceptors != null && interceptors.isNotEmpty) {
    interceptors.forEach((interceptor) => _dio.interceptors.add(interceptor));
  }

  _r = RetrofitClient(_dio);
}