bug #19321 [HttpFoundation] Add OPTIONS and TRACE to the list of safe methods (dunglas)
This PR was squashed before being merged into the 2.7 branch (closes #19321).
Discussion
----------
[HttpFoundation] Add OPTIONS and TRACE to the list of safe methods
| Q | A
| ------------- | ---
| Branch? | 2.7
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
According to [RFC 7231](https://tools.ietf.org/html/rfc7231#section-8.1.3) `OPTIONS` and `TRACE` are safe methods.
Commits
-------
1404607
[HttpFoundation] Add OPTIONS and TRACE to the list of safe methods
This commit is contained in:
commit
500c2cd694
@ -1470,7 +1470,7 @@ class Request
|
|||||||
*/
|
*/
|
||||||
public function isMethodSafe()
|
public function isMethodSafe()
|
||||||
{
|
{
|
||||||
return in_array($this->getMethod(), array('GET', 'HEAD'));
|
return in_array($this->getMethod(), array('GET', 'HEAD', 'OPTIONS', 'TRACE'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1912,6 +1912,32 @@ class RequestTest extends \PHPUnit_Framework_TestCase
|
|||||||
array(str_repeat(':', 101)),
|
array(str_repeat(':', 101)),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider methodSafeProvider
|
||||||
|
*/
|
||||||
|
public function testMethodSafe($method, $safe)
|
||||||
|
{
|
||||||
|
$request = new Request();
|
||||||
|
$request->setMethod($method);
|
||||||
|
$this->assertEquals($safe, $request->isMethodSafe());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function methodSafeProvider()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
array('HEAD', true),
|
||||||
|
array('GET', true),
|
||||||
|
array('POST', false),
|
||||||
|
array('PUT', false),
|
||||||
|
array('PATCH', false),
|
||||||
|
array('DELETE', false),
|
||||||
|
array('PURGE', false),
|
||||||
|
array('OPTIONS', true),
|
||||||
|
array('TRACE', true),
|
||||||
|
array('CONNECT', false),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class RequestContentProxy extends Request
|
class RequestContentProxy extends Request
|
||||||
|
Reference in New Issue
Block a user