<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpClient\Internal; use Amp\Dns; use Amp\Dns\Record; use Amp\Promise; use Amp\Success; /** * Handles local overrides for the DNS resolver. * * @author Nicolas Grekas <p@tchwork.com> * * @internal */ class AmpResolver implements Dns\Resolver { private $dnsMap; public function __construct(array &$dnsMap) { $this->dnsMap = &$dnsMap; } public function resolve(string $name, int $typeRestriction = null): Promise { if (!isset($this->dnsMap[$name]) || !\in_array($typeRestriction, [Record::A, null], true)) { return Dns\resolver()->resolve($name, $typeRestriction); } return new Success([new Record($this->dnsMap[$name], Record::A, null)]); } public function query(string $name, int $type): Promise { if (!isset($this->dnsMap[$name]) || Record::A !== $type) { return Dns\resolver()->query($name, $type); } return new Success([new Record($this->dnsMap[$name], Record::A, null)]); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
AmpBody.php | File | 3.47 KB | 0644 |
|
AmpClientState.php | File | 8.26 KB | 0644 |
|
AmpListener.php | File | 5.32 KB | 0644 |
|
AmpResolver.php | File | 1.25 KB | 0644 |
|
Canary.php | File | 759 B | 0644 |
|
ClientState.php | File | 521 B | 0644 |
|
CurlClientState.php | File | 5.75 KB | 0644 |
|
DnsCache.php | File | 677 B | 0644 |
|
HttplugWaitLoop.php | File | 5.05 KB | 0644 |
|
NativeClientState.php | File | 1012 B | 0644 |
|
PushedResponse.php | File | 916 B | 0644 |
|