You are here

class RequestContext in Zircon Profile 8.0

Same name in this branch
  1. 8.0 vendor/symfony/routing/RequestContext.php \Symfony\Component\Routing\RequestContext
  2. 8.0 core/lib/Drupal/Core/Routing/RequestContext.php \Drupal\Core\Routing\RequestContext
Same name and namespace in other branches
  1. 8 vendor/symfony/routing/RequestContext.php \Symfony\Component\Routing\RequestContext

Holds information about the current request.

This class implements a fluent interface.

@author Fabien Potencier <fabien@symfony.com> @author Tobias Schultze <http://tobion.de>

Hierarchy

Expanded class hierarchy of RequestContext

26 files declare their use of RequestContext
AccessAwareRouter.php in core/lib/Drupal/Core/Routing/AccessAwareRouter.php
Contains \Drupal\Core\Routing\AccessAwareRouter.
ChainRouter.php in vendor/symfony-cmf/routing/ChainRouter.php
ChainRouterTest.php in vendor/symfony-cmf/routing/Tests/Routing/ChainRouterTest.php
DynamicRouter.php in vendor/symfony-cmf/routing/DynamicRouter.php
LegacyApacheUrlMatcherTest.php in vendor/symfony/routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php

... See full list

File

vendor/symfony/routing/RequestContext.php, line 24

Namespace

Symfony\Component\Routing
View source
class RequestContext {
  private $baseUrl;
  private $pathInfo;
  private $method;
  private $host;
  private $scheme;
  private $httpPort;
  private $httpsPort;
  private $queryString;

  /**
   * @var array
   */
  private $parameters = array();

  /**
   * Constructor.
   *
   * @param string $baseUrl     The base URL
   * @param string $method      The HTTP method
   * @param string $host        The HTTP host name
   * @param string $scheme      The HTTP scheme
   * @param int    $httpPort    The HTTP port
   * @param int    $httpsPort   The HTTPS port
   * @param string $path        The path
   * @param string $queryString The query string
   */
  public function __construct($baseUrl = '', $method = 'GET', $host = 'localhost', $scheme = 'http', $httpPort = 80, $httpsPort = 443, $path = '/', $queryString = '') {
    $this
      ->setBaseUrl($baseUrl);
    $this
      ->setMethod($method);
    $this
      ->setHost($host);
    $this
      ->setScheme($scheme);
    $this
      ->setHttpPort($httpPort);
    $this
      ->setHttpsPort($httpsPort);
    $this
      ->setPathInfo($path);
    $this
      ->setQueryString($queryString);
  }

  /**
   * Updates the RequestContext information based on a HttpFoundation Request.
   *
   * @param Request $request A Request instance
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function fromRequest(Request $request) {
    $this
      ->setBaseUrl($request
      ->getBaseUrl());
    $this
      ->setPathInfo($request
      ->getPathInfo());
    $this
      ->setMethod($request
      ->getMethod());
    $this
      ->setHost($request
      ->getHost());
    $this
      ->setScheme($request
      ->getScheme());
    $this
      ->setHttpPort($request
      ->isSecure() ? $this->httpPort : $request
      ->getPort());
    $this
      ->setHttpsPort($request
      ->isSecure() ? $request
      ->getPort() : $this->httpsPort);
    $this
      ->setQueryString($request->server
      ->get('QUERY_STRING', ''));
    return $this;
  }

  /**
   * Gets the base URL.
   *
   * @return string The base URL
   */
  public function getBaseUrl() {
    return $this->baseUrl;
  }

  /**
   * Sets the base URL.
   *
   * @param string $baseUrl The base URL
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setBaseUrl($baseUrl) {
    $this->baseUrl = $baseUrl;
    return $this;
  }

  /**
   * Gets the path info.
   *
   * @return string The path info
   */
  public function getPathInfo() {
    return $this->pathInfo;
  }

  /**
   * Sets the path info.
   *
   * @param string $pathInfo The path info
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setPathInfo($pathInfo) {
    $this->pathInfo = $pathInfo;
    return $this;
  }

  /**
   * Gets the HTTP method.
   *
   * The method is always an uppercased string.
   *
   * @return string The HTTP method
   */
  public function getMethod() {
    return $this->method;
  }

  /**
   * Sets the HTTP method.
   *
   * @param string $method The HTTP method
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setMethod($method) {
    $this->method = strtoupper($method);
    return $this;
  }

  /**
   * Gets the HTTP host.
   *
   * The host is always lowercased because it must be treated case-insensitive.
   *
   * @return string The HTTP host
   */
  public function getHost() {
    return $this->host;
  }

  /**
   * Sets the HTTP host.
   *
   * @param string $host The HTTP host
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setHost($host) {
    $this->host = strtolower($host);
    return $this;
  }

  /**
   * Gets the HTTP scheme.
   *
   * @return string The HTTP scheme
   */
  public function getScheme() {
    return $this->scheme;
  }

  /**
   * Sets the HTTP scheme.
   *
   * @param string $scheme The HTTP scheme
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setScheme($scheme) {
    $this->scheme = strtolower($scheme);
    return $this;
  }

  /**
   * Gets the HTTP port.
   *
   * @return int The HTTP port
   */
  public function getHttpPort() {
    return $this->httpPort;
  }

  /**
   * Sets the HTTP port.
   *
   * @param int $httpPort The HTTP port
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setHttpPort($httpPort) {
    $this->httpPort = (int) $httpPort;
    return $this;
  }

  /**
   * Gets the HTTPS port.
   *
   * @return int The HTTPS port
   */
  public function getHttpsPort() {
    return $this->httpsPort;
  }

  /**
   * Sets the HTTPS port.
   *
   * @param int $httpsPort The HTTPS port
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setHttpsPort($httpsPort) {
    $this->httpsPort = (int) $httpsPort;
    return $this;
  }

  /**
   * Gets the query string.
   *
   * @return string The query string without the "?"
   */
  public function getQueryString() {
    return $this->queryString;
  }

  /**
   * Sets the query string.
   *
   * @param string $queryString The query string (after "?")
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setQueryString($queryString) {

    // string cast to be fault-tolerant, accepting null
    $this->queryString = (string) $queryString;
    return $this;
  }

  /**
   * Returns the parameters.
   *
   * @return array The parameters
   */
  public function getParameters() {
    return $this->parameters;
  }

  /**
   * Sets the parameters.
   *
   * @param array $parameters The parameters
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setParameters(array $parameters) {
    $this->parameters = $parameters;
    return $this;
  }

  /**
   * Gets a parameter value.
   *
   * @param string $name A parameter name
   *
   * @return mixed The parameter value or null if nonexistent
   */
  public function getParameter($name) {
    return isset($this->parameters[$name]) ? $this->parameters[$name] : null;
  }

  /**
   * Checks if a parameter value is set for the given parameter.
   *
   * @param string $name A parameter name
   *
   * @return bool True if the parameter value is set, false otherwise
   */
  public function hasParameter($name) {
    return array_key_exists($name, $this->parameters);
  }

  /**
   * Sets a parameter value.
   *
   * @param string $name      A parameter name
   * @param mixed  $parameter The parameter value
   *
   * @return RequestContext The current instance, implementing a fluent interface
   */
  public function setParameter($name, $parameter) {
    $this->parameters[$name] = $parameter;
    return $this;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
RequestContext::$baseUrl private property
RequestContext::$host private property
RequestContext::$httpPort private property
RequestContext::$httpsPort private property
RequestContext::$method private property
RequestContext::$parameters private property
RequestContext::$pathInfo private property
RequestContext::$queryString private property
RequestContext::$scheme private property
RequestContext::fromRequest public function Updates the RequestContext information based on a HttpFoundation Request. 1
RequestContext::getBaseUrl public function Gets the base URL.
RequestContext::getHost public function Gets the HTTP host.
RequestContext::getHttpPort public function Gets the HTTP port.
RequestContext::getHttpsPort public function Gets the HTTPS port.
RequestContext::getMethod public function Gets the HTTP method.
RequestContext::getParameter public function Gets a parameter value.
RequestContext::getParameters public function Returns the parameters.
RequestContext::getPathInfo public function Gets the path info.
RequestContext::getQueryString public function Gets the query string.
RequestContext::getScheme public function Gets the HTTP scheme.
RequestContext::hasParameter public function Checks if a parameter value is set for the given parameter.
RequestContext::setBaseUrl public function Sets the base URL.
RequestContext::setHost public function Sets the HTTP host.
RequestContext::setHttpPort public function Sets the HTTP port.
RequestContext::setHttpsPort public function Sets the HTTPS port.
RequestContext::setMethod public function Sets the HTTP method.
RequestContext::setParameter public function Sets a parameter value.
RequestContext::setParameters public function Sets the parameters.
RequestContext::setPathInfo public function Sets the path info.
RequestContext::setQueryString public function Sets the query string.
RequestContext::setScheme public function Sets the HTTP scheme.
RequestContext::__construct public function Constructor.