Passed
Push — trunk ( 04838b...ff423b )
by Christian
11:03 queued 15s
created

MailException::givenMailAgentIsInvalid()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 5
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 7
rs 10
1
<?php declare(strict_types=1);
2
3
namespace Shopware\Core\Content\Mail;
4
5
use Shopware\Core\Framework\HttpException;
6
use Shopware\Core\Framework\Log\Package;
7
use Shopware\Core\Framework\ShopwareHttpException;
8
use Symfony\Component\HttpFoundation\Response;
9
10
#[Package('services-settings')]
11
class MailException extends HttpException
12
{
13
    final public const GIVEN_OPTION_INVALID = 'MAIL__GIVEN_OPTION_INVALID';
14
15
    final public const GIVEN_AGENT_INVALID = 'MAIL__GIVEN_AGENT_INVALID';
16
17
    /**
18
     * @param string[] $validOptions
19
     */
20
    public static function givenSendMailOptionIsInvalid(string $option, array $validOptions): ShopwareHttpException
21
    {
22
        return new self(
23
            Response::HTTP_INTERNAL_SERVER_ERROR,
24
            self::GIVEN_OPTION_INVALID,
25
            'Given sendmail option "{{ option }}" is invalid. Available options: {{ validOptions }}',
26
            ['option' => $option, 'validOptions' => implode(', ', $validOptions)]
27
        );
28
    }
29
30
    public static function givenMailAgentIsInvalid(string $agent): ShopwareHttpException
31
    {
32
        return new self(
33
            Response::HTTP_INTERNAL_SERVER_ERROR,
34
            self::GIVEN_AGENT_INVALID,
35
            'Invalid mail agent given "{{ agent }}"',
36
            ['agent' => $agent]
37
        );
38
    }
39
}
40