@@ 21-42 (lines=22) @@ | ||
18 | use Http\Discovery\HttpClientDiscovery; |
|
19 | use Symfony\Component\OptionsResolver\OptionsResolver; |
|
20 | ||
21 | final class GeoPluginFactory extends AbstractFactory |
|
22 | { |
|
23 | protected static $dependencies = [ |
|
24 | ['requiredClass' => GeoPlugin::class, 'packageName' => 'geocoder-php/geo-plugin-provider'], |
|
25 | ]; |
|
26 | ||
27 | protected function getProvider(array $config): Provider |
|
28 | { |
|
29 | $httplug = $config['httplug_client'] ?: HttpClientDiscovery::find(); |
|
30 | ||
31 | return new GeoPlugin($httplug); |
|
32 | } |
|
33 | ||
34 | protected static function configureOptionResolver(OptionsResolver $resolver) |
|
35 | { |
|
36 | $resolver->setDefaults([ |
|
37 | 'httplug_client' => null, |
|
38 | ]); |
|
39 | ||
40 | $resolver->setAllowedTypes('httplug_client', [HttpClient::class, 'null']); |
|
41 | } |
|
42 | } |
|
43 |
@@ 21-42 (lines=22) @@ | ||
18 | use Http\Discovery\HttpClientDiscovery; |
|
19 | use Symfony\Component\OptionsResolver\OptionsResolver; |
|
20 | ||
21 | final class HostIpFactory extends AbstractFactory |
|
22 | { |
|
23 | protected static $dependencies = [ |
|
24 | ['requiredClass' => HostIp::class, 'packageName' => 'geocoder-php/host-ip-provider'], |
|
25 | ]; |
|
26 | ||
27 | protected function getProvider(array $config): Provider |
|
28 | { |
|
29 | $httplug = $config['httplug_client'] ?: HttpClientDiscovery::find(); |
|
30 | ||
31 | return new HostIp($httplug); |
|
32 | } |
|
33 | ||
34 | protected static function configureOptionResolver(OptionsResolver $resolver) |
|
35 | { |
|
36 | $resolver->setDefaults([ |
|
37 | 'httplug_client' => null, |
|
38 | ]); |
|
39 | ||
40 | $resolver->setAllowedTypes('httplug_client', [HttpClient::class, 'null']); |
|
41 | } |
|
42 | } |
|
43 |
@@ 21-42 (lines=22) @@ | ||
18 | use Http\Discovery\HttpClientDiscovery; |
|
19 | use Symfony\Component\OptionsResolver\OptionsResolver; |
|
20 | ||
21 | final class IpInfoFactory extends AbstractFactory |
|
22 | { |
|
23 | protected static $dependencies = [ |
|
24 | ['requiredClass' => IpInfo::class, 'packageName' => 'geocoder-php/ip-info-provider'], |
|
25 | ]; |
|
26 | ||
27 | protected function getProvider(array $config): Provider |
|
28 | { |
|
29 | $httplug = $config['httplug_client'] ?: HttpClientDiscovery::find(); |
|
30 | ||
31 | return new IpInfo($httplug); |
|
32 | } |
|
33 | ||
34 | protected static function configureOptionResolver(OptionsResolver $resolver) |
|
35 | { |
|
36 | $resolver->setDefaults([ |
|
37 | 'httplug_client' => null, |
|
38 | ]); |
|
39 | ||
40 | $resolver->setAllowedTypes('httplug_client', [HttpClient::class, 'null']); |
|
41 | } |
|
42 | } |
|
43 |