Skip to content

Commit f377e76

Browse files
authored
Merge pull request #419 from jingu/fix_head_request_query_issue
Fixed issue with GET parameters not being passed correctly in HEAD requests
2 parents 2bb73ef + de4d1a2 commit f377e76

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

src/Provide/Router/HttpMethodParams.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ public function get(array $server, array $get, array $post)
4444
// set the original value
4545
$method = strtolower($server['REQUEST_METHOD']);
4646

47-
// early return on GET
48-
if ($method === 'get') {
49-
return ['get', $get];
47+
// early return on GET or HEAD
48+
if ($method === 'get' || $method === 'head') {
49+
return [$method, $get];
5050
}
5151

5252
return $this->unsafeMethod($method, $server, $post);

tests/Provide/Router/HttpMethodParamsTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,16 @@ public function testGet(): void
1919
$this->assertSame(['id' => '1'], $params);
2020
}
2121

22+
public function testHead(): void
23+
{
24+
$server = ['REQUEST_METHOD' => 'HEAD'];
25+
$get = ['id' => '1'];
26+
$post = [];
27+
[$method, $params] = (new HttpMethodParams())->get($server, $get, $post);
28+
$this->assertSame('head', $method);
29+
$this->assertSame(['id' => '1'], $params);
30+
}
31+
2232
public function testPost(): void
2333
{
2434
$server = ['REQUEST_METHOD' => 'POST'];

0 commit comments

Comments
 (0)