defender-security
/
lib
/
packages
/
Symfony
/
Component
/
Process
/
Exception
/
ProcessFailedException.php
ProcessFailedException.php in Defender Security – Malware Scanner, Login Security & Firewall 6.3.0, at lib/packages/Symfony/Component/Process/Exception/ProcessFailedException.php
| 1 | <?php |
| 2 | |
| 3 | /* |
| 4 | * This file is part of the Symfony package. |
| 5 | * |
| 6 | * (c) Fabien Potencier <[email protected]> |
| 7 | * |
| 8 | * For the full copyright and license information, please view the LICENSE |
| 9 | * file that was distributed with this source code. |
| 10 | */ |
| 11 | |
| 12 | namespace WP_DEFENDER_VENDOR\Symfony\Component\Process\Exception; |
| 13 | |
| 14 | use WP_DEFENDER_VENDOR\Symfony\Component\Process\Process; |
| 15 | |
| 16 | /** |
| 17 | * Exception for failed processes. |
| 18 | * |
| 19 | * @author Johannes M. Schmitt <[email protected]> |
| 20 | */ |
| 21 | class ProcessFailedException extends RuntimeException |
| 22 | { |
| 23 | private $process; |
| 24 | |
| 25 | public function __construct(Process $process) |
| 26 | { |
| 27 | if ($process->isSuccessful()) { |
| 28 | throw new InvalidArgumentException('Expected a failed process, but the given process was successful.'); |
| 29 | } |
| 30 | |
| 31 | $error = sprintf('The command "%s" failed.'."\n\nExit Code: %s(%s)\n\nWorking directory: %s", |
| 32 | $process->getCommandLine(), |
| 33 | $process->getExitCode(), |
| 34 | $process->getExitCodeText(), |
| 35 | $process->getWorkingDirectory() |
| 36 | ); |
| 37 | |
| 38 | if (!$process->isOutputDisabled()) { |
| 39 | $error .= sprintf("\n\nOutput:\n================\n%s\n\nError Output:\n================\n%s", |
| 40 | $process->getOutput(), |
| 41 | $process->getErrorOutput() |
| 42 | ); |
| 43 | } |
| 44 | |
| 45 | parent::__construct($error); |
| 46 | |
| 47 | $this->process = $process; |
| 48 | } |
| 49 | |
| 50 | public function getProcess() |
| 51 | { |
| 52 | return $this->process; |
| 53 | } |
| 54 | } |
| 55 |