Overview

Namespaces

  • Evenement
  • None
  • PHP
  • Psr
    • Http
      • Message
  • Ratchet
    • Http
    • RFC6455
      • Handshake
      • Messaging
    • Server
    • Session
      • Serialize
      • Storage
        • Proxy
    • Wamp
    • WebSocket
  • React
    • EventLoop
      • Tick
      • Timer
    • Socket
    • Stream
  • Symfony
    • Component
      • HttpFoundation
        • Session
          • Attribute
          • Flash
          • Storage
            • Handler
            • Proxy
      • Routing
        • Annotation
        • Exception
        • Generator
          • Dumper
        • Loader
          • DependencyInjection
        • Matcher
          • Dumper
        • Tests
          • Annotation
          • Fixtures
            • AnnotatedClasses
            • OtherAnnotatedClasses
          • Generator
            • Dumper
          • Loader
          • Matcher
            • Dumper

Interfaces

  • MessageInterface
  • RequestInterface
  • ResponseInterface
  • ServerRequestInterface
  • StreamInterface
  • UploadedFileInterface
  • UriInterface
  • Overview
  • Namespace
  • Class
  • Tree
  1: <?php
  2: 
  3: namespace Psr\Http\Message;
  4: 
  5: /**
  6:  * Representation of an outgoing, client-side request.
  7:  *
  8:  * Per the HTTP specification, this interface includes properties for
  9:  * each of the following:
 10:  *
 11:  * - Protocol version
 12:  * - HTTP method
 13:  * - URI
 14:  * - Headers
 15:  * - Message body
 16:  *
 17:  * During construction, implementations MUST attempt to set the Host header from
 18:  * a provided URI if no Host header is provided.
 19:  *
 20:  * Requests are considered immutable; all methods that might change state MUST
 21:  * be implemented such that they retain the internal state of the current
 22:  * message and return an instance that contains the changed state.
 23:  */
 24: interface RequestInterface extends MessageInterface
 25: {
 26:     /**
 27:      * Retrieves the message's request target.
 28:      *
 29:      * Retrieves the message's request-target either as it will appear (for
 30:      * clients), as it appeared at request (for servers), or as it was
 31:      * specified for the instance (see withRequestTarget()).
 32:      *
 33:      * In most cases, this will be the origin-form of the composed URI,
 34:      * unless a value was provided to the concrete implementation (see
 35:      * withRequestTarget() below).
 36:      *
 37:      * If no URI is available, and no request-target has been specifically
 38:      * provided, this method MUST return the string "/".
 39:      *
 40:      * @return string
 41:      */
 42:     public function getRequestTarget();
 43: 
 44:     /**
 45:      * Return an instance with the specific request-target.
 46:      *
 47:      * If the request needs a non-origin-form request-target — e.g., for
 48:      * specifying an absolute-form, authority-form, or asterisk-form —
 49:      * this method may be used to create an instance with the specified
 50:      * request-target, verbatim.
 51:      *
 52:      * This method MUST be implemented in such a way as to retain the
 53:      * immutability of the message, and MUST return an instance that has the
 54:      * changed request target.
 55:      *
 56:      * @link http://tools.ietf.org/html/rfc7230#section-5.3 (for the various
 57:      *     request-target forms allowed in request messages)
 58:      * @param mixed $requestTarget
 59:      * @return static
 60:      */
 61:     public function withRequestTarget($requestTarget);
 62: 
 63:     /**
 64:      * Retrieves the HTTP method of the request.
 65:      *
 66:      * @return string Returns the request method.
 67:      */
 68:     public function getMethod();
 69: 
 70:     /**
 71:      * Return an instance with the provided HTTP method.
 72:      *
 73:      * While HTTP method names are typically all uppercase characters, HTTP
 74:      * method names are case-sensitive and thus implementations SHOULD NOT
 75:      * modify the given string.
 76:      *
 77:      * This method MUST be implemented in such a way as to retain the
 78:      * immutability of the message, and MUST return an instance that has the
 79:      * changed request method.
 80:      *
 81:      * @param string $method Case-sensitive method.
 82:      * @return static
 83:      * @throws \InvalidArgumentException for invalid HTTP methods.
 84:      */
 85:     public function withMethod($method);
 86: 
 87:     /**
 88:      * Retrieves the URI instance.
 89:      *
 90:      * This method MUST return a UriInterface instance.
 91:      *
 92:      * @link http://tools.ietf.org/html/rfc3986#section-4.3
 93:      * @return UriInterface Returns a UriInterface instance
 94:      *     representing the URI of the request.
 95:      */
 96:     public function getUri();
 97: 
 98:     /**
 99:      * Returns an instance with the provided URI.
100:      *
101:      * This method MUST update the Host header of the returned request by
102:      * default if the URI contains a host component. If the URI does not
103:      * contain a host component, any pre-existing Host header MUST be carried
104:      * over to the returned request.
105:      *
106:      * You can opt-in to preserving the original state of the Host header by
107:      * setting `$preserveHost` to `true`. When `$preserveHost` is set to
108:      * `true`, this method interacts with the Host header in the following ways:
109:      *
110:      * - If the Host header is missing or empty, and the new URI contains
111:      *   a host component, this method MUST update the Host header in the returned
112:      *   request.
113:      * - If the Host header is missing or empty, and the new URI does not contain a
114:      *   host component, this method MUST NOT update the Host header in the returned
115:      *   request.
116:      * - If a Host header is present and non-empty, this method MUST NOT update
117:      *   the Host header in the returned request.
118:      *
119:      * This method MUST be implemented in such a way as to retain the
120:      * immutability of the message, and MUST return an instance that has the
121:      * new UriInterface instance.
122:      *
123:      * @link http://tools.ietf.org/html/rfc3986#section-4.3
124:      * @param UriInterface $uri New request URI to use.
125:      * @param bool $preserveHost Preserve the original state of the Host header.
126:      * @return static
127:      */
128:     public function withUri(UriInterface $uri, $preserveHost = false);
129: }
130: 
Ratchet API documentation generated by ApiGen 2.8.0