LittleFishHttpClient constructor

LittleFishHttpClient({
  1. bool monitor = true,
  2. bool compress = false,
  3. bool cache = false,
  4. BaseOptions? options,
  5. Duration cacheExpiry = const Duration(minutes: 5),
  6. List<String> noCacheEndpoints = const [],
  7. int connectTimeout = 10000,
  8. int receiveTimeout = 600000,
  9. int defaultRetryCount = 3,
  10. Duration defaultRetryDelay = const Duration(seconds: 2),
  11. void onRetry(
    1. String url,
    2. int retryAttempt,
    3. int maxRetries
    )?,
  12. Map<String, dynamic> sharedHeaders = const {},
})

Implementation

LittleFishHttpClient({
  this.monitor = true,
  this.compress = false,
  this.cache = false,
  BaseOptions? options,
  this.cacheExpiry = const Duration(minutes: 5),
  this.noCacheEndpoints = const [],
  this.connectTimeout = 10000,
  this.receiveTimeout = 600000,
  this.defaultRetryCount = 3,
  this.defaultRetryDelay = const Duration(seconds: 2),
  this.onRetry,
  this.sharedHeaders = const {},
}) : options = options ??
          BaseOptions(
            connectTimeout: Duration(milliseconds: connectTimeout),
            receiveTimeout: Duration(milliseconds: receiveTimeout),
            maxRedirects: 2,
            responseType: ResponseType.json,
          ) {
  monitoringService = LittleFishCore.instance.get<MonitoringService>();
  logger = LittleFishCore.instance.get<LoggerService>();

  _setup();

  logger?.debug(
    this,
    'http client, initialised with monitoring ${monitor ? 'enabled' : 'disabled'}',
  );

  logger?.debug(
    this,
    'http client, initialised with compression: ${compress ? 'enabled' : 'disabled'}',
  );
}