Skip to content

Commit 3fa24ed

Browse files
[10.0] Partially revert bad changes to the query builder (#593)
1 parent 5fca69b commit 3fa24ed

File tree

2 files changed

+7
-17
lines changed

2 files changed

+7
-17
lines changed

src/HttpClient/Util/QueryStringBuilder.php

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,15 @@ final class QueryStringBuilder
1515
* Indexed arrays are encoded using empty squared brackets ([]) unlike
1616
* `http_build_query`.
1717
*
18-
* @param mixed $query
18+
* @param array $query
1919
*
2020
* @return string
2121
*/
22-
public static function build($query)
22+
public static function build(array $query)
2323
{
24-
if (!\is_array($query)) {
25-
return self::rawurlencode($query);
26-
}
27-
28-
return \implode('&', \array_map(function ($value, $key) {
24+
return \sprintf('?%s', \implode('&', \array_map(function ($value, $key) {
2925
return self::encode($value, $key);
30-
}, $query, \array_keys($query)));
26+
}, $query, \array_keys($query))));
3127
}
3228

3329
/**

tests/HttpClient/Util/QueryStringBuilderTest.php

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,16 @@ class QueryStringBuilderTest extends TestCase
1212
/**
1313
* @dataProvider queryStringProvider
1414
*
15-
* @param mixed $query
15+
* @param array $query
1616
* @param string $expected
1717
*/
18-
public function testBuild($query, string $expected): void
18+
public function testBuild(array $query, string $expected): void
1919
{
20-
$this->assertSame($expected, QueryStringBuilder::build($query));
20+
$this->assertSame(\sprintf('?%s', $expected), QueryStringBuilder::build($query));
2121
}
2222

2323
public function queryStringProvider()
2424
{
25-
//Scalar value.
26-
yield [
27-
'a project',
28-
'a%20project',
29-
];
30-
3125
//Indexed array.
3226
yield [
3327
['iids' => [88, 86]],

0 commit comments

Comments
 (0)