diff --git a/typo3/sysext/core/Classes/Http/Request.php b/typo3/sysext/core/Classes/Http/Request.php index 4f89e0a9b8134e51ecb7e4af7566e48ad8bf34d8..39519917c9f60b54ef3274a6167cc21104c55343 100644 --- a/typo3/sysext/core/Classes/Http/Request.php +++ b/typo3/sysext/core/Classes/Http/Request.php @@ -66,7 +66,10 @@ class Request extends Message implements RequestInterface 'PROPFIND', 'PROPPATCH', 'REPORT', - 'UNLOCK' + 'UNLOCK', + // Custom methods + 'PURGE', + 'BAN' ]; /** diff --git a/typo3/sysext/core/Tests/Unit/Http/RequestTest.php b/typo3/sysext/core/Tests/Unit/Http/RequestTest.php index d28b0f13ee772c868ce9318cae63b1df0756901d..8c6dabafb26bba8d72477b26eacac097166ab104 100644 --- a/typo3/sysext/core/Tests/Unit/Http/RequestTest.php +++ b/typo3/sysext/core/Tests/Unit/Http/RequestTest.php @@ -527,4 +527,22 @@ class RequestTest extends UnitTestCase $this->expectException(\InvalidArgumentException::class); new Request(null, null, 'php://memory', [$name => $value]); } + + /** + * @test + */ + public function supportedRequestMethodsWork(): void + { + $request = new Request('some-uri', 'PURGE'); + self::assertEquals('PURGE', $request->getMethod()); + } + + /** + * @test + */ + public function nonSupportedRequestMethodsRaisesException(): void + { + $this->expectException(\InvalidArgumentException::class); + new Request('some-uri', 'UNSUPPORTED'); + } }