|
12 | 12 | namespace Symfony\Component\Mailer\Bridge\Mailgun\Factory;
|
13 | 13 |
|
14 | 14 | use Symfony\Component\Mailer\Bridge\Mailgun;
|
15 |
| -use Symfony\Component\Mailer\Exception\InvalidDsnException; |
| 15 | +use Symfony\Component\Mailer\Exception\UnsupportedSchemeException; |
16 | 16 | use Symfony\Component\Mailer\Transport\AbstractTransportFactory;
|
17 | 17 | use Symfony\Component\Mailer\Transport\Dsn;
|
18 | 18 | use Symfony\Component\Mailer\Transport\TransportInterface;
|
19 | 19 |
|
20 | 20 | /**
|
21 | 21 | * @author Konstantin Myakshin <molodchick@gmail.com>
|
22 | 22 | */
|
23 |
| -class MailgunTransportFactory extends AbstractTransportFactory |
| 23 | +final class MailgunTransportFactory extends AbstractTransportFactory |
24 | 24 | {
|
25 | 25 | public function create(Dsn $dsn): TransportInterface
|
26 | 26 | {
|
27 | 27 | $scheme = $dsn->getScheme();
|
28 | 28 | $user = $dsn->getUser();
|
29 | 29 | $pass = $dsn->getPass();
|
| 30 | + $region = $dsn->getOption('region'); |
30 | 31 |
|
31 | 32 | if ('smtp' === $scheme) {
|
32 |
| - return new Mailgun\Smtp\MailgunTransport($user, $pass, $this->dispatcher, $this->logger); |
| 33 | + return new Mailgun\Smtp\MailgunTransport($user, $pass, $region, $this->dispatcher, $this->logger); |
33 | 34 | }
|
34 | 35 |
|
35 | 36 | if ('http' === $scheme) {
|
36 |
| - return new Mailgun\Http\MailgunTransport($user, $pass, $this->client, $this->dispatcher, $this->logger); |
| 37 | + return new Mailgun\Http\MailgunTransport($user, $pass, $this->client, $region, $this->dispatcher, $this->logger); |
37 | 38 | }
|
38 | 39 |
|
39 | 40 | if ('api' === $scheme) {
|
40 |
| - return new Mailgun\Http\Api\MailgunTransport($user, $pass, $this->client, $this->dispatcher, $this->logger); |
| 41 | + return new Mailgun\Http\Api\MailgunTransport($user, $pass, $this->client, $region, $this->dispatcher, $this->logger); |
41 | 42 | }
|
42 | 43 |
|
43 |
| - throw InvalidDsnException::unsupportedScheme($dsn); |
| 44 | + throw new UnsupportedSchemeException($dsn); |
44 | 45 | }
|
45 | 46 |
|
46 | 47 | public function supports(Dsn $dsn): bool
|
|
0 commit comments