Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.
   1  <?php
   2  
   3  namespace Psr\Http\Message;
   4  
   5  /**
   6   * Representation of an outgoing, server-side response.
   7   *
   8   * Per the HTTP specification, this interface includes properties for
   9   * each of the following:
  10   *
  11   * - Protocol version
  12   * - Status code and reason phrase
  13   * - Headers
  14   * - Message body
  15   *
  16   * Responses are considered immutable; all methods that might change state MUST
  17   * be implemented such that they retain the internal state of the current
  18   * message and return an instance that contains the changed state.
  19   */
  20  interface ResponseInterface extends MessageInterface
  21  {
  22      /**
  23       * Gets the response status code.
  24       *
  25       * The status code is a 3-digit integer result code of the server's attempt
  26       * to understand and satisfy the request.
  27       *
  28       * @return int Status code.
  29       */
  30      public function getStatusCode();
  31  
  32      /**
  33       * Return an instance with the specified status code and, optionally, reason phrase.
  34       *
  35       * If no reason phrase is specified, implementations MAY choose to default
  36       * to the RFC 7231 or IANA recommended reason phrase for the response's
  37       * status code.
  38       *
  39       * This method MUST be implemented in such a way as to retain the
  40       * immutability of the message, and MUST return an instance that has the
  41       * updated status and reason phrase.
  42       *
  43       * @link http://tools.ietf.org/html/rfc7231#section-6
  44       * @link http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
  45       * @param int $code The 3-digit integer result code to set.
  46       * @param string $reasonPhrase The reason phrase to use with the
  47       *     provided status code; if none is provided, implementations MAY
  48       *     use the defaults as suggested in the HTTP specification.
  49       * @return static
  50       * @throws \InvalidArgumentException For invalid status code arguments.
  51       */
  52      public function withStatus($code, $reasonPhrase = '');
  53  
  54      /**
  55       * Gets the response reason phrase associated with the status code.
  56       *
  57       * Because a reason phrase is not a required element in a response
  58       * status line, the reason phrase value MAY be null. Implementations MAY
  59       * choose to return the default RFC 7231 recommended reason phrase (or those
  60       * listed in the IANA HTTP Status Code Registry) for the response's
  61       * status code.
  62       *
  63       * @link http://tools.ietf.org/html/rfc7231#section-6
  64       * @link http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
  65       * @return string Reason phrase; must return an empty string if none present.
  66       */
  67      public function getReasonPhrase();
  68  }