getSummary method

String getSummary()

Returns a summary of the diagnostic result

Implementation

String getSummary() {
  final buffer = StringBuffer();

  buffer.writeln('=== Proxy Diagnostic Summary ===');
  buffer.writeln('Current proxies: $currentProxies');
  buffer.writeln('Current validated proxies: $currentValidatedProxies');

  if (sourceResults != null) {
    buffer.writeln('\nSource Test Results:');
    sourceResults!.forEach((source, result) {
      if (result.success) {
        buffer.writeln(
          '  $source: ${result.count} proxies in ${result.timeMs}ms',
        );
      } else {
        buffer.writeln('  $source: FAILED - ${result.error}');
      }
    });
  }

  if (validationResults != null) {
    buffer.writeln('\nValidation Test Results:');
    buffer.writeln('  Success: ${validationResults!.success}');
    buffer.writeln(
      '  Valid: ${validationResults!.validCount}/${validationResults!.totalTested}',
    );

    if (validationResults!.validationErrors.isNotEmpty) {
      buffer.writeln('  Validation Errors:');
      for (final error in validationResults!.validationErrors) {
        buffer.writeln('    - $error');
      }
    }
  }

  buffer.writeln('\nFetch Validated Proxies:');
  if (fetchValidatedProxiesSuccess == true) {
    buffer.writeln(
      '  Success: $fetchValidatedProxiesCount proxies in ${fetchValidatedProxiesTime}ms',
    );
  } else {
    buffer.writeln(
      '  Failed: ${fetchValidatedProxiesError ?? "Unknown error"}',
    );
  }

  buffer.writeln('\nGet Next Proxy:');
  if (getNextProxySuccess == true) {
    buffer.writeln('  Success: $proxyDetails');
  } else {
    buffer.writeln('  Failed: ${getNextProxyError ?? "Unknown error"}');
  }

  if (overallError != null) {
    buffer.writeln('\nOverall Error: $overallError');
  }

  buffer.writeln('\n=== Diagnostic Complete ===');

  return buffer.toString();
}