| 1 |
<?php |
| 2 |
|
| 3 |
namespace Depicter\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 |
} |
| 69 |
|