protected function Request::prepareRequestUri

1 call to Request::prepareRequestUri()
Request::getRequestUri in drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php
Returns the requested URI.
1 method overrides Request::prepareRequestUri()
ApacheRequest::prepareRequestUri in drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ApacheRequest.php

File

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

Class

Request
Request represents an HTTP request.

Namespace

Symfony\Component\HttpFoundation

Code

protected function prepareRequestUri() {
  $requestUri = '';
  if ($this->headers
    ->has('X_REWRITE_URL') && false !== stripos(PHP_OS, 'WIN')) {

    // check this first so IIS will catch
    $requestUri = $this->headers
      ->get('X_REWRITE_URL');
  }
  elseif ($this->server
    ->get('IIS_WasUrlRewritten') == '1' && $this->server
    ->get('UNENCODED_URL') != '') {

    // IIS7 with URL Rewrite: make sure we get the unencoded url (double slash problem)
    $requestUri = $this->server
      ->get('UNENCODED_URL');
  }
  elseif ($this->server
    ->has('REQUEST_URI')) {
    $requestUri = $this->server
      ->get('REQUEST_URI');

    // HTTP proxy reqs setup request uri with scheme and host [and port] + the url path, only use url path
    $schemeAndHttpHost = $this
      ->getSchemeAndHttpHost();
    if (strpos($requestUri, $schemeAndHttpHost) === 0) {
      $requestUri = substr($requestUri, strlen($schemeAndHttpHost));
    }
  }
  elseif ($this->server
    ->has('ORIG_PATH_INFO')) {

    // IIS 5.0, PHP as CGI
    $requestUri = $this->server
      ->get('ORIG_PATH_INFO');
    if ('' != $this->server
      ->get('QUERY_STRING')) {
      $requestUri .= '?' . $this->server
        ->get('QUERY_STRING');
    }
  }
  return $requestUri;
}