Fix #37740: Cast all Request parameter values to string
This commit is contained in:
parent
c23166c8d8
commit
d4e2cec1fb
@ -37,6 +37,11 @@ class Request
|
||||
{
|
||||
$this->uri = $uri;
|
||||
$this->method = $method;
|
||||
|
||||
array_walk_recursive($parameters, static function (&$value) {
|
||||
$value = (string) $value;
|
||||
});
|
||||
|
||||
$this->parameters = $parameters;
|
||||
$this->files = $files;
|
||||
$this->cookies = $cookies;
|
||||
|
@ -51,4 +51,24 @@ class RequestTest extends TestCase
|
||||
$request = new Request('http://www.example.com/', 'get', [], [], [], ['foo' => 'bar']);
|
||||
$this->assertEquals(['foo' => 'bar'], $request->getServer(), '->getServer() returns the server parameters of the request');
|
||||
}
|
||||
|
||||
public function testAllParameterValuesAreConvertedToString(): void
|
||||
{
|
||||
$parameters = [
|
||||
'foo' => 1,
|
||||
'bar' => [
|
||||
'baz' => 2,
|
||||
],
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'foo' => '1',
|
||||
'bar' => [
|
||||
'baz' => '2',
|
||||
],
|
||||
];
|
||||
|
||||
$request = new Request('http://www.example.com/', 'get', $parameters);
|
||||
$this->assertSame($expected, $request->getParameters());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user