function ResourceTestBase::request
Same name and namespace in other branches
- 10 core/modules/rest/tests/src/Functional/ResourceTestBase.php \Drupal\Tests\rest\Functional\ResourceTestBase::request()
- 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()
3 calls to ResourceTestBase::request()
- 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.
- MediaResourceTestBase::uploadFile in core/
modules/ media/ tests/ src/ Functional/ Rest/ MediaResourceTestBase.php - Tests the 'file_upload' REST resource plugin.
- RestJsonApiUnsupported::testApiJsonNotSupportedInRest in core/
modules/ jsonapi/ tests/ src/ Functional/ RestJsonApiUnsupported.php - Deploying a REST resource using api_json format results in 400 responses.
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\FunctionalCode
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.