mirror of
https://github.com/itflow-org/itflow
synced 2026-03-12 00:34:52 +00:00
49 lines
1.0 KiB
PHP
49 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace DirectoryTree\ImapEngine\Exceptions;
|
|
|
|
use DirectoryTree\ImapEngine\Connection\ImapCommand;
|
|
use DirectoryTree\ImapEngine\Connection\Responses\Response;
|
|
|
|
class ImapCommandException extends Exception
|
|
{
|
|
/**
|
|
* The IMAP response.
|
|
*/
|
|
protected Response $response;
|
|
|
|
/**
|
|
* The failed IMAP command.
|
|
*/
|
|
protected ImapCommand $command;
|
|
|
|
/**
|
|
* Make a new instance from a failed command and response.
|
|
*/
|
|
public static function make(ImapCommand $command, Response $response): static
|
|
{
|
|
$exception = new static(sprintf('IMAP command "%s" failed. Response: "%s"', $command, $response));
|
|
|
|
$exception->command = $command;
|
|
$exception->response = $response;
|
|
|
|
return $exception;
|
|
}
|
|
|
|
/**
|
|
* Get the failed IMAP command.
|
|
*/
|
|
public function command(): ImapCommand
|
|
{
|
|
return $this->command;
|
|
}
|
|
|
|
/**
|
|
* Get the IMAP response.
|
|
*/
|
|
public function response(): Response
|
|
{
|
|
return $this->response;
|
|
}
|
|
}
|