Skip to content

Commit bfd1cf7

Browse files
committed
[HttpClient] Fix reset not called on decorated clients
1 parent b7716f1 commit bfd1cf7

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2565,11 +2565,13 @@ private function registerHttpClientConfiguration(array $config, ContainerBuilder
25652565
->setFactory([ScopingHttpClient::class, 'forBaseUri'])
25662566
->setArguments([new Reference('http_client.transport'), $baseUri, $scopeConfig])
25672567
->addTag('http_client.client')
2568+
->addTag('kernel.reset', ['method' => 'reset', 'on_invalid' => 'ignore'])
25682569
;
25692570
} else {
25702571
$container->register($name, ScopingHttpClient::class)
25712572
->setArguments([new Reference('http_client.transport'), [$scope => $scopeConfig], $scope])
25722573
->addTag('http_client.client')
2574+
->addTag('kernel.reset', ['method' => 'reset', 'on_invalid' => 'ignore'])
25732575
;
25742576
}
25752577

Resources/config/http_client.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
->factory('current')
4040
->args([[service('http_client.transport')]])
4141
->tag('http_client.client')
42+
->tag('kernel.reset', ['method' => 'reset', 'on_invalid' => 'ignore'])
4243

4344
->alias(HttpClientInterface::class, 'http_client')
4445

Tests/DependencyInjection/FrameworkExtensionTestCase.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1976,8 +1976,12 @@ public function testHttpClientDefaultOptions()
19761976
];
19771977
$this->assertSame([$defaultOptions, 4], $container->getDefinition('http_client.transport')->getArguments());
19781978

1979+
$this->assertTrue($container->getDefinition('http_client')->hasTag('kernel.reset'));
1980+
19791981
$this->assertTrue($container->hasDefinition('foo'), 'should have the "foo" service.');
1980-
$this->assertSame(ScopingHttpClient::class, $container->getDefinition('foo')->getClass());
1982+
$definition = $container->getDefinition('foo');
1983+
$this->assertSame(ScopingHttpClient::class, $definition->getClass());
1984+
$this->assertTrue($definition->hasTag('kernel.reset'));
19811985
}
19821986

19831987
public function testScopedHttpClientWithoutQueryOption()

0 commit comments

Comments
 (0)