diff --git a/src/Connector.php b/src/Connector.php index 7dd5b10..b479640 100644 --- a/src/Connector.php +++ b/src/Connector.php @@ -13,12 +13,26 @@ class Connector implements ConnectorInterface private $loop; private $resolver; - public function __construct(LoopInterface $loop, Resolver $resolver) + public function __construct(LoopInterface $loop, Resolver $resolver = null) { $this->loop = $loop; $this->resolver = $resolver; } + public function setDnsResolver(Resolver $resolver) + { + $this->resolver = $resolver; + } + + public function getDnsResolver() + { + if (!$this->resolver instanceof Resolver) { + throw new \RuntimeException('DNS Resolver is not set.'); + } + + return $this->resolver; + } + public function create($host, $port) { return $this @@ -97,6 +111,6 @@ protected function resolveHostname($host) return Promise\resolve($host); } - return $this->resolver->resolve($host); + return $this->getDnsResolver()->resolve($host); } }