function RequestSanitizerTest::testRequestMethodOverride

Tests unacceptable destinations are removed from GET requests.

Attributes

#[TestWith([ "POST", FALSE, ])] #[TestWith([ "GET", TRUE, ])] #[TestWith([ "HEAD", TRUE, ])] #[TestWith([ "PUT", FALSE, ])] #[TestWith([ "DELETE", FALSE, ])] #[TestWith([ "CONNECT", FALSE, ])] #[TestWith([ "OPTIONS", TRUE, ])] #[TestWith([ "TRACE", TRUE, ])] #[TestWith([ "PATCH", FALSE, ])]

File

core/tests/Drupal/Tests/Core/Security/RequestSanitizerTest.php, line 313

Class

RequestSanitizerTest
Tests RequestSanitizer class.

Namespace

Drupal\Tests\Core\Security

Code

public function testRequestMethodOverride(string $override, bool $exception) : void {
  $request = $this->createRequestForTesting();
  $request->server
    ->set('REQUEST_METHOD', 'POST');
  $request->headers
    ->set('X-HTTP-Method-Override', $override);
  if ($exception) {
    $this->expectException(BadRequestHttpException::class);
  }
  $request = RequestSanitizer::sanitize($request, []);
  $this->assertEquals($override, $request->getMethod());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.