2424use Psr \Http \Client \ClientInterface ;
2525use Psr \Http \Message \UriInterface ;
2626use Symfony \Component \Config \Definition \ConfigurationInterface ;
27+ use Symfony \Component \Config \Definition \Exception \InvalidConfigurationException ;
2728use Symfony \Component \Config \FileLocator ;
2829use Symfony \Component \DependencyInjection \Alias ;
2930use Symfony \Component \DependencyInjection \ChildDefinition ;
@@ -50,10 +51,7 @@ class HttplugExtension extends Extension
5051 */
5152 private $ useVcrPlugin = false ;
5253
53- /**
54- * {@inheritdoc}
55- */
56- public function load (array $ configs , ContainerBuilder $ container )
54+ public function load (array $ configs , ContainerBuilder $ container ): void
5755 {
5856 $ configuration = $ this ->getConfiguration ($ configs , $ container );
5957 $ config = $ this ->processConfiguration ($ configuration , $ configs );
@@ -122,7 +120,7 @@ public function load(array $configs, ContainerBuilder $container)
122120
123121 if ($ this ->useVcrPlugin ) {
124122 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". ' );
126124 }
127125
128126 $ loader ->load ('vcr-plugin.xml ' );
@@ -132,7 +130,7 @@ public function load(array $configs, ContainerBuilder $container)
132130 /**
133131 * Configure client services.
134132 */
135- private function configureClients (ContainerBuilder $ container , array $ config )
133+ private function configureClients (ContainerBuilder $ container , array $ config ): void
136134 {
137135 $ first = null ;
138136 $ clients = [];
@@ -182,7 +180,7 @@ private function configureClients(ContainerBuilder $container, array $config)
182180 /**
183181 * Configure all Httplug plugins or remove their service definition.
184182 */
185- private function configurePlugins (ContainerBuilder $ container , array $ config )
183+ private function configurePlugins (ContainerBuilder $ container , array $ config ): void
186184 {
187185 if (!empty ($ config ['authentication ' ])) {
188186 $ this ->configureAuthentication ($ container , $ config ['authentication ' ]);
@@ -204,7 +202,7 @@ private function configurePlugins(ContainerBuilder $container, array $config)
204202 * @param ContainerBuilder $container In case we need to add additional services for this plugin
205203 * @param string $serviceId service id of the plugin, in case we need to add additional services for this plugin
206204 */
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
208206 {
209207 switch ($ name ) {
210208 case 'cache ' :
@@ -352,9 +350,9 @@ private function configurePluginByName($name, Definition $definition, array $con
352350 }
353351
354352 /**
355- * @return array list of service ids for the authentication plugins
353+ * @return string[] list of service ids for the authentication plugins
356354 */
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
358356 {
359357 $ pluginServices = [];
360358
@@ -404,7 +402,7 @@ private function configureAuthentication(ContainerBuilder $container, array $con
404402 /**
405403 * @param string $clientName
406404 */
407- private function configureClient (ContainerBuilder $ container , $ clientName , array $ arguments )
405+ private function configureClient (ContainerBuilder $ container , $ clientName , array $ arguments ): void
408406 {
409407 $ serviceId = 'httplug.client. ' .$ clientName ;
410408
@@ -502,7 +500,7 @@ function ($id) {
502500 * @param string $serviceId Name of the private service to create
503501 * @param string $uri String representation of the URI
504502 */
505- private function createUri (ContainerBuilder $ container , $ serviceId , $ uri )
503+ private function createUri (ContainerBuilder $ container , $ serviceId , $ uri ): void
506504 {
507505 $ container
508506 ->register ($ serviceId , UriInterface::class)
@@ -516,7 +514,7 @@ private function createUri(ContainerBuilder $container, $serviceId, $uri)
516514 * Make the user can select what client is used for auto discovery. If none is provided, a service will be created
517515 * by finding a client using auto discovery.
518516 */
519- private function configureAutoDiscoveryClients (ContainerBuilder $ container , array $ config )
517+ private function configureAutoDiscoveryClients (ContainerBuilder $ container , array $ config ): void
520518 {
521519 $ httpClient = $ config ['discovery ' ]['client ' ];
522520 if ('auto ' !== $ httpClient ) {
@@ -563,7 +561,7 @@ public function getConfiguration(array $config, ContainerBuilder $container): ?C
563561 *
564562 * @return string configured service id
565563 */
566- private function configurePlugin (ContainerBuilder $ container , $ serviceId , $ pluginName , array $ pluginConfig )
564+ private function configurePlugin (ContainerBuilder $ container , $ serviceId , $ pluginName , array $ pluginConfig ): string
567565 {
568566 $ pluginServiceId = $ serviceId .'.plugin. ' .$ pluginName ;
569567
@@ -575,7 +573,7 @@ private function configurePlugin(ContainerBuilder $container, $serviceId, $plugi
575573 return $ pluginServiceId ;
576574 }
577575
578- private function configureVcrPlugin (ContainerBuilder $ container , array $ config , $ prefix )
576+ private function configureVcrPlugin (ContainerBuilder $ container , array $ config , $ prefix ): array
579577 {
580578 $ recorder = $ config ['recorder ' ];
581579 $ recorderId = in_array ($ recorder , ['filesystem ' , 'in_memory ' ]) ? 'httplug.plugin.vcr.recorder. ' .$ recorder : $ recorder ;
0 commit comments