copyWith method

  1. @override
ISpectWSInterceptorSettings copyWith({
  1. bool? enabled,
  2. bool? enableRedaction,
  3. DiagnosticCaptureMode? captureMode,
  4. DiagnosticResourceLimits? resourceLimits,
  5. bool inheritResourceLimits = false,
  6. bool? logRequests,
  7. bool? logResponses,
  8. bool? printSentData,
  9. bool? printSentHeaders,
  10. bool? printReceivedData,
  11. bool? printReceivedHeaders,
  12. bool? printReceivedMessage,
  13. bool? printErrorData,
  14. bool? printErrorMessage,
  15. bool? printStateData,
  16. AnsiPen? sentPen,
  17. AnsiPen? receivedPen,
  18. AnsiPen? errorPen,
  19. bool? printRequestData,
  20. bool? printRequestHeaders,
  21. bool? printResponseData,
  22. bool? printResponseHeaders,
  23. bool? printResponseMessage,
  24. AnsiPen? requestPen,
  25. AnsiPen? responsePen,
  26. bool? printErrorHeaders,
  27. @Deprecated('Use sentChain instead. Will be removed in 8.0.0.') bool sentFilter(
    1. ISpectLogData data
    )?,
  28. @Deprecated('Use receivedChain instead. Will be removed in 8.0.0.') bool receivedFilter(
    1. ISpectLogData data
    )?,
  29. @Deprecated('Use errorChain instead. Will be removed in 8.0.0.') bool errorFilter(
    1. ISpectLogData data
    )?,
  30. NetworkFilterChain<ISpectLogData>? sentChain,
  31. NetworkFilterChain<ISpectLogData>? receivedChain,
  32. NetworkFilterChain<ISpectLogData>? errorChain,
})

Creates a copy with updated values.

Accepts both WS-specific names (printSentData, printReceivedData, sentPen, receivedPen, etc.) and the base-interface aliases (printRequestData, printResponseData, requestPen, responsePen). WS-specific names take precedence when both are provided.

printErrorHeaders is accepted for interface compatibility but has no effect - WebSocket logging never prints error headers.

Implementation

@override
ISpectWSInterceptorSettings copyWith({
  bool? enabled,
  bool? enableRedaction,
  DiagnosticCaptureMode? captureMode,
  DiagnosticResourceLimits? resourceLimits,
  bool inheritResourceLimits = false,
  bool? logRequests,
  bool? logResponses,
  // WS-specific names (preferred)
  bool? printSentData,
  bool? printSentHeaders,
  bool? printReceivedData,
  bool? printReceivedHeaders,
  bool? printReceivedMessage,
  bool? printErrorData,
  bool? printErrorMessage,
  bool? printStateData,
  AnsiPen? sentPen,
  AnsiPen? receivedPen,
  AnsiPen? errorPen,
  // Base-interface aliases (used by BaseNetworkInterceptor.configure)
  bool? printRequestData,
  bool? printRequestHeaders,
  bool? printResponseData,
  bool? printResponseHeaders,
  bool? printResponseMessage,
  AnsiPen? requestPen,
  AnsiPen? responsePen,
  // Accepted for interface compatibility; has no effect on WS.
  // ignore: avoid_unused_constructor_parameters
  bool? printErrorHeaders,
  @Deprecated('Use sentChain instead. Will be removed in 8.0.0.')
  bool Function(ISpectLogData data)? sentFilter,
  @Deprecated('Use receivedChain instead. Will be removed in 8.0.0.')
  bool Function(ISpectLogData data)? receivedFilter,
  @Deprecated('Use errorChain instead. Will be removed in 8.0.0.')
  bool Function(ISpectLogData data)? errorFilter,
  NetworkFilterChain<ISpectLogData>? sentChain,
  NetworkFilterChain<ISpectLogData>? receivedChain,
  NetworkFilterChain<ISpectLogData>? errorChain,
}) =>
    ISpectWSInterceptorSettings(
      enabled: enabled ?? this.enabled,
      enableRedaction: enableRedaction ?? this.enableRedaction,
      captureMode: captureMode ?? this.captureMode,
      resourceLimits: inheritResourceLimits
          ? null
          : resourceLimits ?? this.resourceLimits,
      logRequests: logRequests ?? this.logRequests,
      logResponses: logResponses ?? this.logResponses,
      printSentData: printSentData ?? printRequestData ?? this.printSentData,
      printSentHeaders:
          printSentHeaders ?? printRequestHeaders ?? this.printSentHeaders,
      printReceivedData:
          printReceivedData ?? printResponseData ?? this.printReceivedData,
      printReceivedHeaders: printReceivedHeaders ??
          printResponseHeaders ??
          this.printReceivedHeaders,
      printReceivedMessage: printReceivedMessage ??
          printResponseMessage ??
          this.printReceivedMessage,
      printErrorData: printErrorData ?? this.printErrorData,
      printErrorMessage: printErrorMessage ?? this.printErrorMessage,
      printStateData: printStateData ?? this.printStateData,
      sentPen: sentPen ?? requestPen ?? this.sentPen,
      receivedPen: receivedPen ?? responsePen ?? this.receivedPen,
      errorPen: errorPen ?? this.errorPen,
      sentFilter: sentFilter ?? this.sentFilter,
      receivedFilter: receivedFilter ?? this.receivedFilter,
      errorFilter: errorFilter ?? this.errorFilter,
      sentChain: sentChain ?? this.sentChain,
      receivedChain: receivedChain ?? this.receivedChain,
      errorChain: errorChain ?? this.errorChain,
    );