Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. RequestInterface.php

interface RequestInterface

Representation of an outgoing, client-side request.

Per the HTTP specification, this interface includes properties for each of the following:

  • Protocol version
  • HTTP method
  • URI
  • Headers
  • Message body

During construction, implementations MUST attempt to set the Host header from a provided URI if no Host header is provided.

Requests are considered immutable; all methods that might change state MUST be implemented such that they retain the internal state of the current message and return an instance that contains the changed state.

Hierarchy

  • interface \Psr\Http\Message\MessageInterface
    • interface \Psr\Http\Message\RequestInterface extends \Psr\Http\Message\MessageInterface

Expanded class hierarchy of RequestInterface

All classes that implement RequestInterface

44 files declare their use of RequestInterface
BadResponseException.php in vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php
Client.php in vendor/php-http/guzzle7-adapter/src/Client.php
Client.php in vendor/guzzlehttp/guzzle/src/Client.php
ClientInterface.php in vendor/guzzlehttp/guzzle/src/ClientInterface.php
ClientInterface.php in vendor/psr/http-client/src/ClientInterface.php

... See full list

File

vendor/psr/http-message/src/RequestInterface.php, line 24

Namespace

Psr\Http\Message
View source
interface RequestInterface extends MessageInterface {
    
    /**
     * Retrieves the message's request target.
     *
     * Retrieves the message's request-target either as it will appear (for
     * clients), as it appeared at request (for servers), or as it was
     * specified for the instance (see withRequestTarget()).
     *
     * In most cases, this will be the origin-form of the composed URI,
     * unless a value was provided to the concrete implementation (see
     * withRequestTarget() below).
     *
     * If no URI is available, and no request-target has been specifically
     * provided, this method MUST return the string "/".
     *
     * @return string
     */
    public function getRequestTarget() : string;
    
    /**
     * Return an instance with the specific request-target.
     *
     * If the request needs a non-origin-form request-target — e.g., for
     * specifying an absolute-form, authority-form, or asterisk-form —
     * this method may be used to create an instance with the specified
     * request-target, verbatim.
     *
     * This method MUST be implemented in such a way as to retain the
     * immutability of the message, and MUST return an instance that has the
     * changed request target.
     *
     * @link http://tools.ietf.org/html/rfc7230#section-5.3 (for the various
     *     request-target forms allowed in request messages)
     * @param string $requestTarget
     * @return static
     */
    public function withRequestTarget(string $requestTarget) : RequestInterface;
    
    /**
     * Retrieves the HTTP method of the request.
     *
     * @return string Returns the request method.
     */
    public function getMethod() : string;
    
    /**
     * Return an instance with the provided HTTP method.
     *
     * While HTTP method names are typically all uppercase characters, HTTP
     * method names are case-sensitive and thus implementations SHOULD NOT
     * modify the given string.
     *
     * This method MUST be implemented in such a way as to retain the
     * immutability of the message, and MUST return an instance that has the
     * changed request method.
     *
     * @param string $method Case-sensitive method.
     * @return static
     * @throws \InvalidArgumentException for invalid HTTP methods.
     */
    public function withMethod(string $method) : RequestInterface;
    
    /**
     * Retrieves the URI instance.
     *
     * This method MUST return a UriInterface instance.
     *
     * @link http://tools.ietf.org/html/rfc3986#section-4.3
     * @return UriInterface Returns a UriInterface instance
     *     representing the URI of the request.
     */
    public function getUri() : UriInterface;
    
    /**
     * Returns an instance with the provided URI.
     *
     * This method MUST update the Host header of the returned request by
     * default if the URI contains a host component. If the URI does not
     * contain a host component, any pre-existing Host header MUST be carried
     * over to the returned request.
     *
     * You can opt-in to preserving the original state of the Host header by
     * setting `$preserveHost` to `true`. When `$preserveHost` is set to
     * `true`, this method interacts with the Host header in the following ways:
     *
     * - If the Host header is missing or empty, and the new URI contains
     *   a host component, this method MUST update the Host header in the returned
     *   request.
     * - If the Host header is missing or empty, and the new URI does not contain a
     *   host component, this method MUST NOT update the Host header in the returned
     *   request.
     * - If a Host header is present and non-empty, this method MUST NOT update
     *   the Host header in the returned request.
     *
     * This method MUST be implemented in such a way as to retain the
     * immutability of the message, and MUST return an instance that has the
     * new UriInterface instance.
     *
     * @link http://tools.ietf.org/html/rfc3986#section-4.3
     * @param UriInterface $uri New request URI to use.
     * @param bool $preserveHost Preserve the original state of the Host header.
     * @return static
     */
    public function withUri(UriInterface $uri, bool $preserveHost = false) : RequestInterface;

}

Members

Title Sort descending Modifiers Object type Summary Overrides
MessageInterface::getBody public function Gets the body of the message.
MessageInterface::getHeader public function Retrieves a message header value by the given case-insensitive name.
MessageInterface::getHeaderLine public function Retrieves a comma-separated string of the values for a single header.
MessageInterface::getHeaders public function Retrieves all message header values.
MessageInterface::getProtocolVersion public function Retrieves the HTTP protocol version as a string.
MessageInterface::hasHeader public function Checks if a header exists by the given case-insensitive name.
MessageInterface::withAddedHeader public function Return an instance with the specified header appended with the given value.
MessageInterface::withBody public function Return an instance with the specified message body.
MessageInterface::withHeader public function Return an instance with the provided value replacing the specified header.
MessageInterface::withoutHeader public function Return an instance without the specified header.
MessageInterface::withProtocolVersion public function Return an instance with the specified HTTP protocol version.
RequestInterface::getMethod public function Retrieves the HTTP method of the request. 1
RequestInterface::getRequestTarget public function Retrieves the message's request target. 1
RequestInterface::getUri public function Retrieves the URI instance. 1
RequestInterface::withMethod public function Return an instance with the provided HTTP method. 1
RequestInterface::withRequestTarget public function Return an instance with the specific request-target. 1
RequestInterface::withUri public function Returns an instance with the provided URI. 1
RSS feed
Powered by Drupal