You are here

protected function WebTestBase::drupalPost in Drupal 8

Perform a POST HTTP request.

Parameters

string|\Drupal\Core\Url $path: Drupal path or absolute path where the request should be POSTed.

string $accept: The value for the "Accept" header. Usually either 'application/json' or 'application/vnd.drupal-ajax'.

array $post: The POST data. When making a 'application/vnd.drupal-ajax' request, the Ajax page state data should be included. Use getAjaxPageStatePostData() for that.

array $options: (optional) Options to be forwarded to the url generator. The 'absolute' option will automatically be enabled.

Return value

The content returned from the call to curl_exec().

See also

WebTestBase::getAjaxPageStatePostData()

WebTestBase::curlExec()

1 call to WebTestBase::drupalPost()
WebTestBase::drupalPostWithFormat in core/modules/simpletest/src/WebTestBase.php
Performs a POST HTTP request with a specific format.

File

core/modules/simpletest/src/WebTestBase.php, line 1361

Class

WebTestBase
Test case for typical Drupal tests.

Namespace

Drupal\simpletest

Code

protected function drupalPost($path, $accept, array $post, $options = []) {
  return $this
    ->curlExec([
    CURLOPT_URL => $this
      ->buildUrl($path, $options),
    CURLOPT_POST => TRUE,
    CURLOPT_POSTFIELDS => $this
      ->serializePostValues($post),
    CURLOPT_HTTPHEADER => [
      'Accept: ' . $accept,
      'Content-Type: application/x-www-form-urlencoded',
    ],
  ]);
}