You are here

class Request in Zircon Profile 8

Same name in this branch
  1. 8 vendor/symfony/http-foundation/Request.php \Symfony\Component\HttpFoundation\Request
  2. 8 vendor/symfony/browser-kit/Request.php \Symfony\Component\BrowserKit\Request
  3. 8 vendor/zendframework/zend-diactoros/src/Request.php \Zend\Diactoros\Request
  4. 8 vendor/zendframework/zend-stdlib/src/Request.php \Zend\Stdlib\Request
  5. 8 vendor/guzzlehttp/psr7/src/Request.php \GuzzleHttp\Psr7\Request
  6. 8 vendor/jcalderonzumba/gastonjs/src/NetworkTraffic/Request.php \Zumba\GastonJS\NetworkTraffic\Request
Same name and namespace in other branches
  1. 8.0 vendor/guzzlehttp/psr7/src/Request.php \GuzzleHttp\Psr7\Request

PSR-7 request implementation.

Hierarchy

Expanded class hierarchy of Request

2 files declare their use of Request
DefaultFetcher.php in core/modules/aggregator/src/Plugin/aggregator/fetcher/DefaultFetcher.php
Contains \Drupal\aggregator\Plugin\aggregator\fetcher\DefaultFetcher.
RequestTest.php in vendor/guzzlehttp/psr7/tests/RequestTest.php
3 string references to 'Request'
legacy-services6.yml in vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services6.yml
vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services6.yml
services20.yml in vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services20.yml
vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services20.yml
services9.yml in vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services9.yml
vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services9.yml

File

vendor/guzzlehttp/psr7/src/Request.php, line 12

Namespace

GuzzleHttp\Psr7
View source
class Request implements RequestInterface {
  use MessageTrait {
    withHeader as protected withParentHeader;
  }

  /** @var string */
  private $method;

  /** @var null|string */
  private $requestTarget;

  /** @var null|UriInterface */
  private $uri;

  /**
   * @param null|string $method HTTP method for the request.
   * @param null|string $uri URI for the request.
   * @param array  $headers Headers for the message.
   * @param string|resource|StreamInterface $body Message body.
   * @param string $protocolVersion HTTP protocol version.
   *
   * @throws InvalidArgumentException for an invalid URI
   */
  public function __construct($method, $uri, array $headers = [], $body = null, $protocolVersion = '1.1') {
    if (is_string($uri)) {
      $uri = new Uri($uri);
    }
    elseif (!$uri instanceof UriInterface) {
      throw new \InvalidArgumentException('URI must be a string or Psr\\Http\\Message\\UriInterface');
    }
    $this->method = strtoupper($method);
    $this->uri = $uri;
    $this
      ->setHeaders($headers);
    $this->protocol = $protocolVersion;
    $host = $uri
      ->getHost();
    if ($host && !$this
      ->hasHeader('Host')) {
      $this
        ->updateHostFromUri($host);
    }
    if ($body) {
      $this->stream = stream_for($body);
    }
  }
  public function getRequestTarget() {
    if ($this->requestTarget !== null) {
      return $this->requestTarget;
    }
    $target = $this->uri
      ->getPath();
    if ($target == null) {
      $target = '/';
    }
    if ($this->uri
      ->getQuery()) {
      $target .= '?' . $this->uri
        ->getQuery();
    }
    return $target;
  }
  public function withRequestTarget($requestTarget) {
    if (preg_match('#\\s#', $requestTarget)) {
      throw new InvalidArgumentException('Invalid request target provided; cannot contain whitespace');
    }
    $new = clone $this;
    $new->requestTarget = $requestTarget;
    return $new;
  }
  public function getMethod() {
    return $this->method;
  }
  public function withMethod($method) {
    $new = clone $this;
    $new->method = strtoupper($method);
    return $new;
  }
  public function getUri() {
    return $this->uri;
  }
  public function withUri(UriInterface $uri, $preserveHost = false) {
    if ($uri === $this->uri) {
      return $this;
    }
    $new = clone $this;
    $new->uri = $uri;
    if (!$preserveHost) {
      if ($host = $uri
        ->getHost()) {
        $new
          ->updateHostFromUri($host);
      }
    }
    return $new;
  }
  public function withHeader($header, $value) {

    /** @var Request $newInstance */
    $newInstance = $this
      ->withParentHeader($header, $value);
    return $newInstance;
  }
  private function updateHostFromUri($host) {

    // Ensure Host is the first header.
    // See: http://tools.ietf.org/html/rfc7230#section-5.4
    if ($port = $this->uri
      ->getPort()) {
      $host .= ':' . $port;
    }
    $this->headerLines = [
      'Host' => [
        $host,
      ],
    ] + $this->headerLines;
    $this->headers = [
      'host' => [
        $host,
      ],
    ] + $this->headers;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MessageTrait::$headerLines private property @var array Actual key to list of values per header.
MessageTrait::$headers private property @var array Cached HTTP header collection with lowercase key to values
MessageTrait::$protocol private property @var string
MessageTrait::$stream private property @var StreamInterface
MessageTrait::getBody public function
MessageTrait::getHeader public function
MessageTrait::getHeaderLine public function
MessageTrait::getHeaders public function
MessageTrait::getProtocolVersion public function
MessageTrait::hasHeader public function
MessageTrait::setHeaders private function
MessageTrait::withAddedHeader public function
MessageTrait::withBody public function
MessageTrait::withHeader public function Aliased as: withParentHeader
MessageTrait::withoutHeader public function
MessageTrait::withProtocolVersion public function
Request::$method private property @var string
Request::$requestTarget private property @var null|string
Request::$uri private property @var null|UriInterface
Request::getMethod public function Retrieves the HTTP method of the request. Overrides RequestInterface::getMethod
Request::getRequestTarget public function Retrieves the message's request target. Overrides RequestInterface::getRequestTarget
Request::getUri public function Retrieves the URI instance. Overrides RequestInterface::getUri
Request::updateHostFromUri private function
Request::withHeader public function Return an instance with the provided value replacing the specified header. Overrides MessageInterface::withHeader
Request::withMethod public function Return an instance with the provided HTTP method. Overrides RequestInterface::withMethod
Request::withRequestTarget public function Return an instance with the specific request-target. Overrides RequestInterface::withRequestTarget
Request::withUri public function Returns an instance with the provided URI. Overrides RequestInterface::withUri
Request::__construct public function