24
24
use Psr \Http \Client \ClientInterface ;
25
25
use Psr \Http \Message \UriInterface ;
26
26
use Symfony \Component \Config \Definition \ConfigurationInterface ;
27
+ use Symfony \Component \Config \Definition \Exception \InvalidConfigurationException ;
27
28
use Symfony \Component \Config \FileLocator ;
28
29
use Symfony \Component \DependencyInjection \Alias ;
29
30
use Symfony \Component \DependencyInjection \ChildDefinition ;
@@ -50,10 +51,7 @@ class HttplugExtension extends Extension
50
51
*/
51
52
private $ useVcrPlugin = false ;
52
53
53
- /**
54
- * {@inheritdoc}
55
- */
56
- public function load (array $ configs , ContainerBuilder $ container )
54
+ public function load (array $ configs , ContainerBuilder $ container ): void
57
55
{
58
56
$ configuration = $ this ->getConfiguration ($ configs , $ container );
59
57
$ config = $ this ->processConfiguration ($ configuration , $ configs );
@@ -122,7 +120,7 @@ public function load(array $configs, ContainerBuilder $container)
122
120
123
121
if ($ this ->useVcrPlugin ) {
124
122
if (!\class_exists (RecordPlugin::class)) {
125
- throw new \ Exception ('You need to require the VCR plugin to be able to use it: "composer require --dev php-http/vcr-plugin". ' );
123
+ throw new InvalidConfigurationException ('You need to require the VCR plugin to be able to use it: "composer require --dev php-http/vcr-plugin". ' );
126
124
}
127
125
128
126
$ loader ->load ('vcr-plugin.xml ' );
@@ -132,7 +130,7 @@ public function load(array $configs, ContainerBuilder $container)
132
130
/**
133
131
* Configure client services.
134
132
*/
135
- private function configureClients (ContainerBuilder $ container , array $ config )
133
+ private function configureClients (ContainerBuilder $ container , array $ config ): void
136
134
{
137
135
$ first = null ;
138
136
$ clients = [];
@@ -182,7 +180,7 @@ private function configureClients(ContainerBuilder $container, array $config)
182
180
/**
183
181
* Configure all Httplug plugins or remove their service definition.
184
182
*/
185
- private function configurePlugins (ContainerBuilder $ container , array $ config )
183
+ private function configurePlugins (ContainerBuilder $ container , array $ config ): void
186
184
{
187
185
if (!empty ($ config ['authentication ' ])) {
188
186
$ this ->configureAuthentication ($ container , $ config ['authentication ' ]);
@@ -204,7 +202,7 @@ private function configurePlugins(ContainerBuilder $container, array $config)
204
202
* @param ContainerBuilder $container In case we need to add additional services for this plugin
205
203
* @param string $serviceId service id of the plugin, in case we need to add additional services for this plugin
206
204
*/
207
- private function configurePluginByName ($ name , Definition $ definition , array $ config , ContainerBuilder $ container , $ serviceId )
205
+ private function configurePluginByName ($ name , Definition $ definition , array $ config , ContainerBuilder $ container , $ serviceId ): void
208
206
{
209
207
switch ($ name ) {
210
208
case 'cache ' :
@@ -352,9 +350,9 @@ private function configurePluginByName($name, Definition $definition, array $con
352
350
}
353
351
354
352
/**
355
- * @return array list of service ids for the authentication plugins
353
+ * @return string[] list of service ids for the authentication plugins
356
354
*/
357
- private function configureAuthentication (ContainerBuilder $ container , array $ config , $ servicePrefix = 'httplug.plugin.authentication ' )
355
+ private function configureAuthentication (ContainerBuilder $ container , array $ config , $ servicePrefix = 'httplug.plugin.authentication ' ): array
358
356
{
359
357
$ pluginServices = [];
360
358
@@ -404,7 +402,7 @@ private function configureAuthentication(ContainerBuilder $container, array $con
404
402
/**
405
403
* @param string $clientName
406
404
*/
407
- private function configureClient (ContainerBuilder $ container , $ clientName , array $ arguments )
405
+ private function configureClient (ContainerBuilder $ container , $ clientName , array $ arguments ): void
408
406
{
409
407
$ serviceId = 'httplug.client. ' .$ clientName ;
410
408
@@ -502,7 +500,7 @@ function ($id) {
502
500
* @param string $serviceId Name of the private service to create
503
501
* @param string $uri String representation of the URI
504
502
*/
505
- private function createUri (ContainerBuilder $ container , $ serviceId , $ uri )
503
+ private function createUri (ContainerBuilder $ container , $ serviceId , $ uri ): void
506
504
{
507
505
$ container
508
506
->register ($ serviceId , UriInterface::class)
@@ -516,7 +514,7 @@ private function createUri(ContainerBuilder $container, $serviceId, $uri)
516
514
* Make the user can select what client is used for auto discovery. If none is provided, a service will be created
517
515
* by finding a client using auto discovery.
518
516
*/
519
- private function configureAutoDiscoveryClients (ContainerBuilder $ container , array $ config )
517
+ private function configureAutoDiscoveryClients (ContainerBuilder $ container , array $ config ): void
520
518
{
521
519
$ httpClient = $ config ['discovery ' ]['client ' ];
522
520
if ('auto ' !== $ httpClient ) {
@@ -563,7 +561,7 @@ public function getConfiguration(array $config, ContainerBuilder $container): ?C
563
561
*
564
562
* @return string configured service id
565
563
*/
566
- private function configurePlugin (ContainerBuilder $ container , $ serviceId , $ pluginName , array $ pluginConfig )
564
+ private function configurePlugin (ContainerBuilder $ container , $ serviceId , $ pluginName , array $ pluginConfig ): string
567
565
{
568
566
$ pluginServiceId = $ serviceId .'.plugin. ' .$ pluginName ;
569
567
@@ -575,7 +573,7 @@ private function configurePlugin(ContainerBuilder $container, $serviceId, $plugi
575
573
return $ pluginServiceId ;
576
574
}
577
575
578
- private function configureVcrPlugin (ContainerBuilder $ container , array $ config , $ prefix )
576
+ private function configureVcrPlugin (ContainerBuilder $ container , array $ config , $ prefix ): array
579
577
{
580
578
$ recorder = $ config ['recorder ' ];
581
579
$ recorderId = in_array ($ recorder , ['filesystem ' , 'in_memory ' ]) ? 'httplug.plugin.vcr.recorder. ' .$ recorder : $ recorder ;
0 commit comments