2323use Http \Mock \Client as MockClient ;
2424use Psr \Http \Client \ClientInterface ;
2525use Psr \Http \Message \UriInterface ;
26+ use Symfony \Component \Config \Definition \ConfigurationInterface ;
2627use Symfony \Component \Config \FileLocator ;
2728use Symfony \Component \DependencyInjection \Alias ;
2829use Symfony \Component \DependencyInjection \ChildDefinition ;
2930use Symfony \Component \DependencyInjection \ContainerBuilder ;
3031use Symfony \Component \DependencyInjection \Definition ;
31- use Symfony \Component \DependencyInjection \DefinitionDecorator ;
3232use Symfony \Component \DependencyInjection \Loader \XmlFileLoader ;
3333use Symfony \Component \DependencyInjection \Reference ;
3434use Symfony \Component \HttpKernel \DependencyInjection \Extension ;
@@ -382,14 +382,8 @@ private function configureClient(ContainerBuilder $container, $clientName, array
382382 {
383383 $ serviceId = 'httplug.client. ' .$ clientName ;
384384
385- if (method_exists ($ container , 'registerAliasForArgument ' )) {
386- $ alias = $ container ->registerAliasForArgument ($ serviceId , HttpClient::class, $ clientName );
387-
388- $ interfaces = class_implements (HttpClient::class) ?? [];
389- if (isset ($ interfaces [ClientInterface::class])) {
390- $ container ->registerAliasForArgument ($ serviceId , ClientInterface::class, $ clientName );
391- }
392- }
385+ $ container ->registerAliasForArgument ($ serviceId , HttpClient::class, $ clientName );
386+ $ container ->registerAliasForArgument ($ serviceId , ClientInterface::class, $ clientName );
393387
394388 $ plugins = [];
395389 foreach ($ arguments ['plugins ' ] as $ plugin ) {
@@ -530,7 +524,7 @@ private function configureAutoDiscoveryClients(ContainerBuilder $container, arra
530524 /**
531525 * {@inheritdoc}
532526 */
533- public function getConfiguration (array $ config , ContainerBuilder $ container )
527+ public function getConfiguration (array $ config , ContainerBuilder $ container ): ? ConfigurationInterface
534528 {
535529 return new Configuration ($ container ->getParameter ('kernel.debug ' ));
536530 }
@@ -547,7 +541,7 @@ private function configurePlugin(ContainerBuilder $container, $serviceId, $plugi
547541 {
548542 $ pluginServiceId = $ serviceId .'.plugin. ' .$ pluginName ;
549543
550- $ definition = $ this -> createChildDefinition ('httplug.plugin. ' .$ pluginName );
544+ $ definition = new ChildDefinition ('httplug.plugin. ' .$ pluginName );
551545
552546 $ this ->configurePluginByName ($ pluginName , $ definition , $ pluginConfig , $ container , $ pluginServiceId );
553547 $ container ->setDefinition ($ pluginServiceId , $ definition );
@@ -564,7 +558,7 @@ private function configureVcrPlugin(ContainerBuilder $container, array $config,
564558 $ recordId = $ prefix .'.record ' ;
565559
566560 if ('filesystem ' === $ recorder ) {
567- $ recorderDefinition = $ this -> createChildDefinition ('httplug.plugin.vcr.recorder.filesystem ' );
561+ $ recorderDefinition = new ChildDefinition ('httplug.plugin.vcr.recorder.filesystem ' );
568562 $ recorderDefinition ->replaceArgument (0 , $ config ['fixtures_directory ' ]);
569563 $ recorderId = $ prefix .'.recorder ' ;
570564
@@ -573,7 +567,7 @@ private function configureVcrPlugin(ContainerBuilder $container, array $config,
573567
574568 if ('default ' === $ config ['naming_strategy ' ]) {
575569 $ namingStrategyId = $ prefix .'.naming_strategy ' ;
576- $ namingStrategy = $ this -> createChildDefinition ('httplug.plugin.vcr.naming_strategy.path ' );
570+ $ namingStrategy = new ChildDefinition ('httplug.plugin.vcr.naming_strategy.path ' );
577571
578572 if (!empty ($ config ['naming_strategy_options ' ])) {
579573 $ namingStrategy ->setArguments ([$ config ['naming_strategy_options ' ]]);
@@ -610,18 +604,4 @@ private function configureVcrPlugin(ContainerBuilder $container, array $config,
610604
611605 return $ plugins ;
612606 }
613-
614- /**
615- * BC for old Symfony versions. Remove this method and use new ChildDefinition directly when we drop support for Symfony 2.
616- *
617- * @param string $parent the parent service id
618- *
619- * @return ChildDefinition|DefinitionDecorator
620- */
621- private function createChildDefinition ($ parent )
622- {
623- $ definitionClass = class_exists (ChildDefinition::class) ? ChildDefinition::class : DefinitionDecorator::class;
624-
625- return new $ definitionClass ($ parent );
626- }
627607}
0 commit comments