Skip to content

Commit 5e50ee7

Browse files
committed
Fixes
1 parent 08d7883 commit 5e50ee7

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/Http.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,16 @@ public static function queryString(array $preserve = [], array $additional = [])
2828

2929
if (!empty($_SERVER['REQUEST_URI'])) {
3030
$url_parts = parse_url($_SERVER['REQUEST_URI']);
31-
if (!empty($url_parts['query'])) {
31+
32+
if (isset($url_parts['query']) && ($url_parts['query'] !== '')) {
3233
parse_str($url_parts['query'], $query);
3334
$query = array_intersect_key($query, $preserve);
3435
}
3536
}
3637

3738
$query += $additional;
3839

39-
return $query ? '?'.http_build_query($query) : '';
40+
return $query !== [] ? '?'.http_build_query($query) : '';
4041
}
4142

4243
/**

tests/HttpTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
final class HttpTest extends TestCase {
1515
public function testQueryString(): void {
1616
$_SERVER['REQUEST_URI'] = '/?dashboard=server';
17-
$this->assertSame('?dashboard=server&param1=yes', Http::queryString([], ['param1' => 'yes']));
17+
$this->assertSame('?dashboard=server&param1=yes&param2=0', Http::queryString([], ['param1' => 'yes', 'param2' => 0]));
1818

1919
$_SERVER['REQUEST_URI'] = '/?dashboard=redis&server=6&p=3';
2020
$this->assertSame('?dashboard=redis&server=6', Http::queryString(['server']));

0 commit comments

Comments
 (0)