function ResourceTestBase::request

Same name in other branches
  1. 9 core/modules/rest/tests/src/Functional/ResourceTestBase.php \Drupal\Tests\rest\Functional\ResourceTestBase::request()
  2. 8.9.x core/modules/rest/tests/src/Functional/ResourceTestBase.php \Drupal\Tests\rest\Functional\ResourceTestBase::request()

Performs a HTTP request. Wraps the Guzzle HTTP client.

Why wrap the Guzzle HTTP client? Because we want to keep the actual test code as simple as possible, and hence not require them to specify the 'http_errors = FALSE' request option, nor do we want them to have to convert Drupal Url objects to strings.

We also don't want to follow redirects automatically, to ensure these tests are able to detect when redirects are added or removed.

Parameters

string $method: HTTP method.

\Drupal\Core\Url $url: URL to request.

array $request_options: Request options to apply.

Return value

\Psr\Http\Message\ResponseInterface

See also

\GuzzleHttp\ClientInterface::request()

26 calls to ResourceTestBase::request()
CommentResourceTestBase::testPostDxWithoutCriticalBaseFields in core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php
Tests POSTing a comment without critical base fields.
CommentResourceTestBase::testPostSkipCommentApproval in core/modules/comment/tests/src/Functional/Rest/CommentResourceTestBase.php
Tests POSTing a comment with and without 'skip comment approval'.
ConfigurableLanguageResourceTestBase::testGetDefaultConfig in core/modules/language/tests/src/Functional/Rest/ConfigurableLanguageResourceTestBase.php
Tests a GET request for a default config entity, which has a _core key.
DbLogResourceTest::testWatchdog in core/modules/dblog/tests/src/Functional/DbLogResourceTest.php
Writes a log messages and retrieves it via the REST API.
EntityResourceTestBase::assertNormalizationEdgeCases in core/modules/rest/tests/src/Functional/EntityResource/EntityResourceTestBase.php
Asserts normalization-specific edge cases.

... See full list

1 method overrides ResourceTestBase::request()
LayoutRestTestBase::request in core/modules/layout_builder/tests/src/Functional/Rest/LayoutRestTestBase.php
Performs a HTTP request. Wraps the Guzzle HTTP client.

File

core/modules/rest/tests/src/Functional/ResourceTestBase.php, line 348

Class

ResourceTestBase
Subclass this for every REST resource, every format and every auth provider.

Namespace

Drupal\Tests\rest\Functional

Code

protected function request($method, Url $url, array $request_options) {
    $request_options[RequestOptions::HTTP_ERRORS] = FALSE;
    $request_options[RequestOptions::ALLOW_REDIRECTS] = FALSE;
    $request_options = $this->decorateWithXdebugCookie($request_options);
    $client = $this->getHttpClient();
    return $client->request($method, $url->setAbsolute(TRUE)
        ->toString(), $request_options);
}

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