public static prepareHttpRequest ( string $uri = '', string $method = 'GET', array $parameters = [], integer $ajax, boolean $add_csrf_tokens = false ) : |
||
$uri | string | URI of the request |
$method | string | HTTP method |
$parameters | array | Query/Post parameters |
$ajax | integer | AJAX api version (0 for non-ajax) |
$add_csrf_tokens | boolean | Add CSRF tokens |
Résultat |
public static function prepareHttpRequest($uri = '', $method = 'GET', $parameters = [], $ajax = 0, $add_csrf_tokens = false)
{
$site_url = elgg_get_site_url();
$path = substr(elgg_normalize_url($uri), strlen($site_url));
$path_key = Application::GET_PATH_KEY;
if ($add_csrf_tokens) {
$ts = time();
$parameters['__elgg_ts'] = $ts;
$parameters['__elgg_token'] = _elgg_services()->actions->generateActionToken($ts);
}
$request = Request::create("?{$path_key}=" . urlencode($path), $method, $parameters);
$cookie_name = _elgg_services()->config->getCookieConfig()['session']['name'];
$session_id = _elgg_services()->session->getId();
$request->cookies->set($cookie_name, $session_id);
$request->headers->set('Referer', elgg_normalize_url('phpunit'));
if ($ajax) {
$request->headers->set('X-Requested-With', 'XMLHttpRequest');
if ($ajax >= 2) {
$request->headers->set('X-Elgg-Ajax-API', (string) $ajax);
}
}
return $request;
}
/** * Create an HTTP request * * @param string $uri URI of the request * @param string $method HTTP method * @param array $parameters Query/Post parameters * @param int $ajax AJAX api version (0 for non-ajax) * @param bool $add_csrf_tokens Add CSRF tokens * @return \Elgg\Http\Request * @deprecated 2.3 */ function _elgg_testing_request($uri = '', $method = 'GET', $parameters = [], $ajax = 0, $add_csrf_tokens = false) { return \Elgg\TestCase::prepareHttpRequest($uri, $method, $parameters, $ajax, $add_csrf_tokens); }