Files
michaelschiemer/src/Framework/Discovery/Events/DiscoveryFailedEvent.php
Michael Schiemer e30753ba0e fix: resolve RedisCache array offset error and improve discovery diagnostics
- Fix RedisCache driver to handle MGET failures gracefully with fallback
- Add comprehensive discovery context comparison debug tools
- Identify root cause: WEB context discovery missing 166 items vs CLI
- WEB context missing RequestFactory class entirely (52 vs 69 commands)
- Improved exception handling with detailed binding diagnostics
2025-09-12 20:05:18 +02:00

42 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Framework\Discovery\Events;
use App\Framework\Core\ValueObjects\Timestamp;
use App\Framework\Discovery\Results\DiscoveryRegistry;
use App\Framework\Discovery\ValueObjects\ScanType;
use Throwable;
/**
* Event fired when discovery process fails
*/
final readonly class DiscoveryFailedEvent
{
public function __construct(
public Throwable $exception,
public ?DiscoveryRegistry $partialResults,
public ScanType $scanType,
public Timestamp $timestamp
) {
}
public function hasPartialResults(): bool
{
return $this->partialResults !== null;
}
public function toArray(): array
{
return [
'error' => $this->exception->getMessage(),
'error_type' => get_class($this->exception),
'has_partial_results' => $this->hasPartialResults(),
'partial_files_count' => $this->partialResults ? $this->partialResults->count() : 0,
'scan_type' => $this->scanType->value,
'timestamp' => $this->timestamp->toFloat(),
];
}
}