public function Request::duplicate

Clones a request and overrides some of its parameters.

@api

Parameters

array $query The GET parameters:

array $request The POST parameters:

array $attributes The request attributes (parameters parsed from the PATH_INFO, ...):

array $cookies The COOKIE parameters:

array $files The FILES parameters:

array $server The SERVER parameters:

Return value

Request The duplicated request

File

drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php, line 339

Class

Request
Request represents an HTTP request.

Namespace

Symfony\Component\HttpFoundation

Code

public function duplicate(array $query = null, array $request = null, array $attributes = null, array $cookies = null, array $files = null, array $server = null) {
  $dup = clone $this;
  if ($query !== null) {
    $dup->query = new ParameterBag($query);
  }
  if ($request !== null) {
    $dup->request = new ParameterBag($request);
  }
  if ($attributes !== null) {
    $dup->attributes = new ParameterBag($attributes);
  }
  if ($cookies !== null) {
    $dup->cookies = new ParameterBag($cookies);
  }
  if ($files !== null) {
    $dup->files = new FileBag($files);
  }
  if ($server !== null) {
    $dup->server = new ServerBag($server);
    $dup->headers = new HeaderBag($dup->server
      ->getHeaders());
  }
  $dup->languages = null;
  $dup->charsets = null;
  $dup->acceptableContentTypes = null;
  $dup->pathInfo = null;
  $dup->requestUri = null;
  $dup->baseUrl = null;
  $dup->basePath = null;
  $dup->method = null;
  $dup->format = null;
  return $dup;
}