-
Notifications
You must be signed in to change notification settings - Fork 1
/
HostIp.php
48 lines (38 loc) · 1.01 KB
/
HostIp.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
declare(strict_types=1);
/*
* This file is part of the Geocoder package.
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @license MIT License
*/
namespace Geocoder\Provider\HostIp;
use Geocoder\Model\AddressCollection;
/**
* @author William Durand <william.durand1@gmail.com>
*/
final class HostIp extends AbstractHostIp
{
/**
* @var string
*/
public const ENDPOINT_URL = 'http://api.hostip.info/get_json.php?ip=%s&position=true';
public function getName(): string
{
return 'host_ip';
}
public function getEndpointURL(): string
{
return self::ENDPOINT_URL;
}
protected function executeQuery(string $url): AddressCollection
{
$content = $this->getUrlContents($url);
$data = \json_decode($content, true);
if (!$data) {
return new AddressCollection([]);
}
return $this->prepareAddressCollection($data);
}
}