Conditions | 2 |
Paths | 4 |
Total Lines | 16 |
Code Lines | 9 |
Lines | 0 |
Ratio | 0 % |
Tests | 5 |
CRAP Score | 2.2109 |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | <?php |
||
10 | 12 | public function getRecords(string $host, int $type) : DNSRecords |
|
11 | { |
||
12 | // A workaround to fix https://bugs.php.net/bug.php?id=73149 |
||
13 | /** @psalm-suppress InvalidArgument */ |
||
14 | 12 | set_error_handler( |
|
15 | 12 | static function (int $errorLevel, string $errorMessage): ?bool { |
|
16 | throw new \RuntimeException("Unable to get DNS record for the host: $errorMessage"); |
||
17 | } |
||
18 | ); |
||
19 | try { |
||
20 | // Get all MX, A and AAAA DNS records for host |
||
21 | 12 | return new DNSRecords(dns_get_record($host, $type)); |
|
22 | } catch (\RuntimeException $exception) { |
||
23 | return new DNSRecords([], true); |
||
24 | } finally { |
||
25 | 12 | restore_error_handler(); |
|
26 | } |
||
28 | } |