class RedirectResponse

RedirectResponse represents an HTTP response doing a redirect.

@author Fabien Potencier <fabien@symfony.com>

@api

Hierarchy

Expanded class hierarchy of RedirectResponse

19 files declare their use of RedirectResponse
AggregatorController.php in drupal/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
Contains \Drupal\aggregator\Controller\AggregatorController.
common.inc in drupal/core/includes/common.inc
Common functions that many Drupal modules will need to reference.
ConfigTestController.php in drupal/core/modules/config/tests/config_test/lib/Drupal/config_test/ConfigTestController.php
Contains \Drupal\config_test\ConfigTestController.
config_test.module in drupal/core/modules/config/tests/config_test/config_test.module
Provides Config module hook implementations for testing purposes.
CronController.php in drupal/core/modules/system/lib/Drupal/system/CronController.php
Definition of Drupal\system\CronController.

... See full list

File

drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RedirectResponse.php, line 21

Namespace

Symfony\Component\HttpFoundation
View source
class RedirectResponse extends Response {
  protected $targetUrl;

  /**
   * Creates a redirect response so that it conforms to the rules defined for a redirect status code.
   *
   * @param string  $url     The URL to redirect to
   * @param integer $status  The status code (302 by default)
   * @param array   $headers The headers (Location is always set to the given url)
   *
   * @throws \InvalidArgumentException
   *
   * @see http://tools.ietf.org/html/rfc2616#section-10.3
   *
   * @api
   */
  public function __construct($url, $status = 302, $headers = array()) {
    if (empty($url)) {
      throw new \InvalidArgumentException('Cannot redirect to an empty URL.');
    }
    parent::__construct('', $status, $headers);
    $this
      ->setTargetUrl($url);
    if (!$this
      ->isRedirect()) {
      throw new \InvalidArgumentException(sprintf('The HTTP status code is not a redirect ("%s" given).', $status));
    }
  }

  /**
   * {@inheritDoc}
   */
  public static function create($url = '', $status = 302, $headers = array()) {
    return new static($url, $status, $headers);
  }

  /**
   * Returns the target URL.
   *
   * @return string target URL
   */
  public function getTargetUrl() {
    return $this->targetUrl;
  }

  /**
   * Sets the redirect target of this response.
   *
   * @param string  $url     The URL to redirect to
   *
   * @return RedirectResponse The current response.
   *
   * @throws \InvalidArgumentException
   */
  public function setTargetUrl($url) {
    if (empty($url)) {
      throw new \InvalidArgumentException('Cannot redirect to an empty URL.');
    }
    $this->targetUrl = $url;
    $this
      ->setContent(sprintf('<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="refresh" content="1;url=%1$s" />

        <title>Redirecting to %1$s</title>
    </head>
    <body>
        Redirecting to <a href="%1$s">%1$s</a>.
    </body>
</html>', htmlspecialchars($url, ENT_QUOTES, 'UTF-8')));
    $this->headers
      ->set('Location', $url);
    return $this;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
RedirectResponse::$targetUrl protected property
RedirectResponse::create public static function Factory method for chainability Overrides Response::create
RedirectResponse::getTargetUrl public function Returns the target URL.
RedirectResponse::setTargetUrl public function Sets the redirect target of this response.
RedirectResponse::__construct public function Creates a redirect response so that it conforms to the rules defined for a redirect status code. Overrides Response::__construct
Response::$charset protected property
Response::$content protected property
Response::$headers public property
Response::$statusCode protected property
Response::$statusText protected property
Response::$statusTexts public static property Status codes translation table.
Response::$version protected property
Response::ensureIEOverSSLCompatibility protected function Check if we need to remove Cache-Control for ssl encrypted downloads when using IE < 9
Response::expire public function Marks the response stale by setting the Age header to be equal to the maximum age of the response.
Response::getAge public function Returns the age of the response.
Response::getCharset public function Retrieves the response charset.
Response::getContent public function Gets the current response content. 2
Response::getDate public function Returns the Date header as a DateTime instance.
Response::getEtag public function Returns the literal value of the ETag HTTP header.
Response::getExpires public function Returns the value of the Expires header as a DateTime instance.
Response::getLastModified public function Returns the Last-Modified HTTP header as a DateTime instance.
Response::getMaxAge public function Returns the number of seconds after the time specified in the response's Date header when the response should no longer be considered fresh.
Response::getProtocolVersion public function Gets the HTTP protocol version.
Response::getStatusCode public function Retrieves the status code for the current web response.
Response::getTtl public function Returns the response's time-to-live in seconds.
Response::getVary public function Returns an array of header names given in the Vary header.
Response::hasVary public function Returns true if the response includes a Vary header.
Response::isCacheable public function Returns true if the response is worth caching under any circumstance.
Response::isClientError public function Is there a client error?
Response::isEmpty public function Is the response empty?
Response::isForbidden public function Is the response forbidden?
Response::isFresh public function Returns true if the response is "fresh".
Response::isInformational public function Is response informative?
Response::isInvalid public function Is response invalid?
Response::isNotFound public function Is the response a not found error?
Response::isNotModified public function Determines if the Response validators (ETag, Last-Modified) match a conditional value specified in the Request.
Response::isOk public function Is the response OK?
Response::isRedirect public function Is the response a redirect of some form?
Response::isRedirection public function Is the response a redirect?
Response::isServerError public function Was there a server side error?
Response::isSuccessful public function Is response successful?
Response::isValidateable public function Returns true if the response includes headers that can be used to validate the response with the origin server using a conditional GET request.
Response::mustRevalidate public function Returns true if the response must be revalidated by caches.
Response::prepare public function Prepares the Response before it is sent to the client. 3
Response::send public function Sends HTTP headers and content.
Response::sendContent public function Sends content for the current web response. 2
Response::sendHeaders public function Sends HTTP headers.
Response::setCache public function Sets the response's cache headers (validation and/or expiration).
Response::setCharset public function Sets the response charset.
Response::setClientTtl public function Sets the response's time-to-live for private/client caches.
Response::setContent public function Sets the response content. 2
Response::setDate public function Sets the Date header.
Response::setEtag public function Sets the ETag value.
Response::setExpires public function Sets the Expires HTTP header with a DateTime instance.
Response::setLastModified public function Sets the Last-Modified HTTP header with a DateTime instance.
Response::setMaxAge public function Sets the number of seconds after which the response should no longer be considered fresh.
Response::setNotModified public function Modifies the response so that it conforms to the rules defined for a 304 status code.
Response::setPrivate public function Marks the response as "private".
Response::setProtocolVersion public function Sets the HTTP protocol version (1.0 or 1.1).
Response::setPublic public function Marks the response as "public".
Response::setSharedMaxAge public function Sets the number of seconds after which the response should no longer be considered fresh by shared caches.
Response::setStatusCode public function Sets the response status code.
Response::setTtl public function Sets the response's time-to-live for shared caches.
Response::setVary public function Sets the Vary header.
Response::__clone public function Clones the current Response instance.
Response::__toString public function Returns the Response as an HTTP string.