1<?php
2
3namespace Sabre\HTTP;
4
5/**
6 * This interface represents a HTTP response.
7 *
8 * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
9 * @author Evert Pot (http://evertpot.com/)
10 * @license http://sabre.io/license/ Modified BSD License
11 */
12interface ResponseInterface extends MessageInterface {
13
14    /**
15     * Returns the current HTTP status code.
16     *
17     * @return int
18     */
19    function getStatus();
20
21    /**
22     * Returns the human-readable status string.
23     *
24     * In the case of a 200, this may for example be 'OK'.
25     *
26     * @return string
27     */
28    function getStatusText();
29
30    /**
31     * Sets the HTTP status code.
32     *
33     * This can be either the full HTTP status code with human readable string,
34     * for example: "403 I can't let you do that, Dave".
35     *
36     * Or just the code, in which case the appropriate default message will be
37     * added.
38     *
39     * @param string|int $status
40     * @throws \InvalidArgumentException
41     * @return void
42     */
43    function setStatus($status);
44
45}
46