ObslyConfig.withDefaults constructor

ObslyConfig.withDefaults({
  1. bool? enableScreenshotOnUi,
  2. List<String>? requestBlacklist,
  3. List<RequestBodyConfig>? requestBodyWhitelist,
  4. List<RequestHeadersConfig>? requestHeadersWhitelist,
  5. TagsBlacklistConfig? tagsBlacklist,
  6. RageClickConfig? rageClick,
  7. bool? enableCrashes,
  8. bool? enableLifeCycleLog,
  9. bool? enableRequestLog,
  10. bool? enableTagger,
  11. bool? enablePerformance,
  12. bool? enableMetrics,
  13. bool? enableUI,
  14. bool? automaticViewDetection,
  15. int? sessionMaxLengthMins,
  16. int? bufferSize,
  17. bool? captureConsole,
  18. bool? captureBodyOnError,
  19. int? messengerInterval,
  20. bool? enableDebugTools,
  21. bool? enableRules,
  22. ObslyTools? obslyTools,
  23. RateLimitsConfig? rateLimits,
})

Creates a config with all default values applied This ensures consistent defaults throughout the SDK

Implementation

factory ObslyConfig.withDefaults({
  bool? enableScreenshotOnUi,
  List<String>? requestBlacklist,
  List<RequestBodyConfig>? requestBodyWhitelist,
  List<RequestHeadersConfig>? requestHeadersWhitelist,
  TagsBlacklistConfig? tagsBlacklist,
  RageClickConfig? rageClick,
  bool? enableCrashes,
  bool? enableLifeCycleLog,
  bool? enableRequestLog,
  bool? enableTagger,
  bool? enablePerformance,
  bool? enableMetrics,
  bool? enableUI,
  bool? automaticViewDetection,
  int? sessionMaxLengthMins,
  int? bufferSize,
  bool? captureConsole,
  bool? captureBodyOnError,
  int? messengerInterval,
  bool? enableDebugTools,
  bool? enableRules,
  ObslyTools? obslyTools,
  RateLimitsConfig? rateLimits,
}) {
  return ObslyConfig(
    enableScreenshotOnUi:
        enableScreenshotOnUi ?? DefaultConfiguration.enableScreenshotOnUi,
    requestBlacklist: requestBlacklist,
    requestBodyWhitelist: requestBodyWhitelist,
    requestHeadersWhitelist: requestHeadersWhitelist,
    tagsBlacklist: tagsBlacklist,
    rageClick: rageClick ??
        const RageClickConfig(
          active: DefaultConfiguration.rageClickActive,
          screenshot: DefaultConfiguration.rageClickScreenshot,
          screenshotPercent: DefaultConfiguration.rageClickScreenshotPercent,
        ),
    enableCrashes: enableCrashes ?? DefaultConfiguration.enableCrashes,
    enableLifeCycleLog:
        enableLifeCycleLog ?? DefaultConfiguration.enableLifeCycleLog,
    enableRequestLog:
        enableRequestLog ?? DefaultConfiguration.enableRequestLog,
    enableTagger: enableTagger ?? DefaultConfiguration.enableTagger,
    enablePerformance:
        enablePerformance ?? DefaultConfiguration.enablePerformance,
    enableMetrics: enableMetrics ?? DefaultConfiguration.enableMetrics,
    enableUI: enableUI ?? DefaultConfiguration.enableUI,
    automaticViewDetection:
        automaticViewDetection ?? DefaultConfiguration.automaticViewDetection,
    sessionMaxLengthMins:
        sessionMaxLengthMins ?? DefaultConfiguration.sessionMaxLengthMins,
    bufferSize: bufferSize,
    captureConsole: captureConsole ?? DefaultConfiguration.captureConsole,
    captureBodyOnError:
        captureBodyOnError ?? DefaultConfiguration.captureBodyOnError,
    messengerInterval:
        messengerInterval ?? DefaultConfiguration.messengerInterval,
    enableDebugTools:
        enableDebugTools ?? DefaultConfiguration.enableDebugTools,
    enableRules:
        enableRules ?? DefaultConfiguration.enableRules,
    obslyTools: obslyTools,
    rateLimits: rateLimits,
  );
}