fail method

void fail(
  1. Object error, {
  2. StackTrace? stackTrace,
  3. String? errorType,
  4. String? errorMessage,
  5. int? statusCode,
  6. Map<String, String>? responseHeaders,
  7. Uint8List? responseBodyBytes,
  8. int? responseSizeBytes,
  9. int? durationMs,
  10. bool? responseTruncatedAtStorage,
})

Records a failed HTTP request (transport error, simulation failure, or cancellation). Safe and idempotent.

Implementation

void fail(
  Object error, {
  StackTrace? stackTrace,
  String? errorType,
  String? errorMessage,
  int? statusCode,
  Map<String, String>? responseHeaders,
  Uint8List? responseBodyBytes,
  int? responseSizeBytes,
  int? durationMs,
  bool? responseTruncatedAtStorage,
}) {
  if (_isSettled || _context == null) return;
  _isSettled = true;

  guardCapture(() {
    collector.failRequest(
      context: _context!,
      error: error,
      errorType: errorType ?? error.runtimeType.toString(),
      errorMessage: errorMessage ?? error.toString(),
      statusCode: statusCode,
      responseHeaders: responseHeaders,
      responseBodyBytes: responseBodyBytes,
      responseSizeBytes: responseSizeBytes,
      durationMs: durationMs,
      responseTruncatedAtStorage: responseTruncatedAtStorage,
    );
  });
}