Skip to content

Commit 56e3800

Browse files
committed
Introduce AbstractHttpProvider
Fix #359
1 parent 35813f8 commit 56e3800

22 files changed

+73
-52
lines changed

src/Geocoder/HttpAdapter/GeoIP2Adapter.php renamed to src/Geocoder/Adapter/GeoIP2Adapter.php

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* @license MIT License
99
*/
1010

11-
namespace Geocoder\HttpAdapter;
11+
namespace Geocoder\Adapter;
1212

1313
use Geocoder\Exception\InvalidArgument;
1414
use Geocoder\Exception\UnsupportedOperation;
@@ -41,10 +41,8 @@ class GeoIP2Adapter
4141
protected $locale;
4242

4343
/**
44-
* @param \GeoIp2\ProviderInterface $geoIpProvider
45-
* @param string $geoIP2Model (e.g. self::GEOIP2_MODEL_CITY)
46-
* @throws \Geocoder\Exception\UnsupportedOperation
47-
* @internal param string $dbFile
44+
* @param \GeoIp2\ProviderInterface $geoIpProvider
45+
* @param string $geoIP2Model (e.g. self::GEOIP2_MODEL_CITY)
4846
*/
4947
public function __construct(ProviderInterface $geoIpProvider, $geoIP2Model = self::GEOIP2_MODEL_CITY)
5048
{
@@ -60,8 +58,8 @@ public function __construct(ProviderInterface $geoIpProvider, $geoIP2Model = sel
6058
}
6159

6260
/**
63-
* @param string $locale
64-
* @return $this
61+
* @param string $locale
62+
* @return GeoIP2Adapter
6563
*/
6664
public function setLocale($locale)
6765
{
@@ -81,9 +79,7 @@ public function getLocale()
8179
/**
8280
* Returns the content fetched from a given resource.
8381
*
84-
* @param string $url (e.g. file://database?127.0.0.1)
85-
* @throws \Geocoder\Exception\UnsupportedOperation
86-
* @throws \Geocoder\Exception\InvalidArgument
82+
* @param string $url (e.g. file://database?127.0.0.1)
8783
* @return string
8884
*/
8985
public function getContent($url)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
3+
/**
4+
* This file is part of the Geocoder package.
5+
* For the full copyright and license information, please view the LICENSE
6+
* file that was distributed with this source code.
7+
*
8+
* @license MIT License
9+
*/
10+
11+
namespace Geocoder\Provider;
12+
13+
use Ivory\HttpAdapter\HttpAdapterInterface;
14+
15+
/**
16+
* @author William Durand <[email protected]>
17+
*/
18+
class AbstractHttpProvider extends AbstractProvider
19+
{
20+
/**
21+
* @var HttpAdapterInterface
22+
*/
23+
private $adapter;
24+
25+
/**
26+
* @param HttpAdapterInterface $adapter An HTTP adapter
27+
*/
28+
public function __construct(HttpAdapterInterface $adapter)
29+
{
30+
parent::__construct();
31+
32+
$this->adapter = $adapter;
33+
}
34+
35+
/**
36+
* Returns the HTTP adapter.
37+
*
38+
* @return HttpAdapterInterface
39+
*/
40+
public function getAdapter()
41+
{
42+
return $this->adapter;
43+
}
44+
}

src/Geocoder/Provider/AbstractProvider.php

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,12 @@
1212

1313
use Geocoder\Geocoder;
1414
use Geocoder\Model\AddressFactory;
15-
use Ivory\HttpAdapter\HttpAdapterInterface;
1615

1716
/**
1817
* @author William Durand <[email protected]>
1918
*/
2019
abstract class AbstractProvider
2120
{
22-
/**
23-
* @var HttpAdapterInterface
24-
*/
25-
private $adapter;
2621

2722
/**
2823
* @var AddressFactory
@@ -34,12 +29,8 @@ abstract class AbstractProvider
3429
*/
3530
private $limit = Provider::MAX_RESULTS;
3631

37-
/**
38-
* @param HttpAdapterInterface|null $adapter An HTTP adapter
39-
*/
40-
public function __construct(HttpAdapterInterface $adapter = null)
32+
public function __construct()
4133
{
42-
$this->adapter = $adapter;
4334
$this->factory = new AddressFactory();
4435
}
4536

@@ -61,16 +52,6 @@ public function getLimit()
6152
return $this->limit;
6253
}
6354

64-
/**
65-
* Returns the HTTP adapter.
66-
*
67-
* @return HttpAdapterInterface
68-
*/
69-
public function getAdapter()
70-
{
71-
return $this->adapter;
72-
}
73-
7455
/**
7556
* Returns the default results.
7657
*

src/Geocoder/Provider/ArcGISOnline.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
/**
1818
* @author ALKOUM Dorian <[email protected]>
1919
*/
20-
class ArcGISOnline extends AbstractProvider implements Provider
20+
class ArcGISOnline extends AbstractHttpProvider implements Provider
2121
{
2222
/**
2323
* @var string

src/Geocoder/Provider/BingMaps.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
/**
1919
* @author David Guyon <[email protected]>
2020
*/
21-
class BingMaps extends AbstractProvider implements LocaleAwareProvider
21+
class BingMaps extends AbstractHttpProvider implements LocaleAwareProvider
2222
{
2323
/**
2424
* @var string

src/Geocoder/Provider/FreeGeoIp.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
/**
1717
* @author William Durand <[email protected]>
1818
*/
19-
class FreeGeoIp extends AbstractProvider implements Provider
19+
class FreeGeoIp extends AbstractHttpProvider implements Provider
2020
{
2121
/**
2222
* @var string

src/Geocoder/Provider/GeoIP2.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111
namespace Geocoder\Provider;
1212

13+
use Geocoder\Adapter\GeoIP2Adapter;
1314
use Geocoder\Exception\NoResult;
1415
use Geocoder\Exception\UnsupportedOperation;
15-
use Geocoder\HttpAdapter\GeoIP2Adapter;
1616
use GeoIp2\Exception\AddressNotFoundException;
1717
use GeoIp2\Model\City;
1818

@@ -33,7 +33,7 @@ class GeoIP2 extends AbstractProvider implements LocaleAwareProvider
3333

3434
public function __construct(GeoIP2Adapter $adapter, $locale = 'en')
3535
{
36-
parent::__construct(null);
36+
parent::__construct();
3737

3838
$this->adapter = $adapter;
3939
$this->locale = $locale;

src/Geocoder/Provider/GeoIPs.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
*
2424
* @link http://www.geoips.com/en/developer/api-guide
2525
*/
26-
class GeoIPs extends AbstractProvider implements Provider
26+
class GeoIPs extends AbstractHttpProvider implements Provider
2727
{
2828
/**
2929
* @var string

src/Geocoder/Provider/GeoPlugin.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
/**
1717
* @author Andrea Cristaudo <[email protected]>
1818
*/
19-
class GeoPlugin extends AbstractProvider implements Provider
19+
class GeoPlugin extends AbstractHttpProvider implements Provider
2020
{
2121
/**
2222
* @var string

src/Geocoder/Provider/Geoip.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
use Geocoder\Exception\UnsupportedOperation;
1616

1717
/**
18-
* @see http://php.net/manual/ref.geoip.php
19-
*
2018
* @author William Durand <[email protected]>
19+
*
20+
* @link http://php.net/manual/ref.geoip.php
2121
*/
2222
class Geoip extends AbstractProvider implements Provider
2323
{

0 commit comments

Comments
 (0)