Skip to content

Commit 0330ece

Browse files
Merge branch '4.4' into 5.0
* 4.4: [Mailer] fix typos [Messenger] fix typo [DI] Unknown env prefix not regornized as such [DI] Fix support for multiple tags for locators and iterators [PhpUnitBridge] Fix some errors when using serialized deprecations Fix HTTP client config handling
2 parents c9f4ed8 + 4033b80 commit 0330ece

File tree

5 files changed

+71
-3
lines changed

5 files changed

+71
-3
lines changed

DependencyInjection/Configuration.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1265,7 +1265,7 @@ private function addHttpClientSection(ArrayNodeDefinition $rootNode)
12651265
if (!\is_array($config)) {
12661266
return [];
12671267
}
1268-
if (!isset($config['host'])) {
1268+
if (!isset($config['host'], $config['value']) || \count($config) > 2) {
12691269
return $config;
12701270
}
12711271

@@ -1374,7 +1374,7 @@ private function addHttpClientSection(ArrayNodeDefinition $rootNode)
13741374
if (!\is_array($config)) {
13751375
return [];
13761376
}
1377-
if (!isset($config['key'])) {
1377+
if (!isset($config['key'], $config['value']) || \count($config) > 2) {
13781378
return $config;
13791379
}
13801380

@@ -1404,7 +1404,7 @@ private function addHttpClientSection(ArrayNodeDefinition $rootNode)
14041404
if (!\is_array($config)) {
14051405
return [];
14061406
}
1407-
if (!isset($config['host'])) {
1407+
if (!isset($config['host'], $config['value']) || \count($config) > 2) {
14081408
return $config;
14091409
}
14101410

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
$container->loadFromExtension('framework', [
4+
'http_client' => [
5+
'default_options' => [
6+
'resolve' => [
7+
'host' => '127.0.0.1',
8+
],
9+
],
10+
'scoped_clients' => [
11+
'foo' => [
12+
'base_uri' => 'http://example.com',
13+
'query' => [
14+
'key' => 'foo',
15+
],
16+
'resolve' => [
17+
'host' => '127.0.0.1',
18+
],
19+
],
20+
],
21+
],
22+
]);
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<container xmlns="http://symfony.com/schema/dic/services"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns:framework="http://symfony.com/schema/dic/symfony"
5+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
6+
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
7+
8+
<framework:config>
9+
<framework:http-client>
10+
<framework:default-options>
11+
<framework:resolve host="host">127.0.0.1</framework:resolve>
12+
</framework:default-options>
13+
<framework:scoped-client name="foo" base-uri="http://example.com">
14+
<framework:query key="key">foo</framework:query>
15+
<framework:resolve host="host">127.0.0.1</framework:resolve>
16+
</framework:scoped-client>
17+
</framework:http-client>
18+
</framework:config>
19+
</container>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
framework:
2+
http_client:
3+
default_options:
4+
resolve:
5+
host: 127.0.0.1
6+
scoped_clients:
7+
foo:
8+
base_uri: http://example.com
9+
query:
10+
key: foo
11+
resolve:
12+
host: 127.0.0.1

Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1358,6 +1358,21 @@ public function testHttpClientOverrideDefaultOptions()
13581358
$this->assertSame($expected, $container->getDefinition('foo')->getArgument(2));
13591359
}
13601360

1361+
public function testHttpClientWithQueryParameterKey()
1362+
{
1363+
$container = $this->createContainerFromFile('http_client_xml_key');
1364+
1365+
$expected = [
1366+
'key' => 'foo',
1367+
];
1368+
$this->assertSame($expected, $container->getDefinition('foo')->getArgument(2)['query']);
1369+
1370+
$expected = [
1371+
'host' => '127.0.0.1',
1372+
];
1373+
$this->assertSame($expected, $container->getDefinition('foo')->getArgument(2)['resolve']);
1374+
}
1375+
13611376
public function testHttpClientFullDefaultOptions()
13621377
{
13631378
$container = $this->createContainerFromFile('http_client_full_default_options');

0 commit comments

Comments
 (0)