Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2/**
3 * Pop PHP Framework (http://www.popphp.org/)
4 *
5 * @link       https://github.com/popphp/popphp-framework
6 * @author     Nick Sagona, III <dev@nolainteractive.com>
7 * @copyright  Copyright (c) 2009-2023 NOLA Interactive, LLC. (http://www.nolainteractive.com)
8 * @license    http://www.popphp.org/license     New BSD License
9 */
10
11/**
12 * @namespace
13 */
14namespace Pop\Http;
15
16use Pop\Mime\Part\Header;
17use Pop\Mime\Part\Body;
18
19/**
20 * HTTP interface
21 *
22 * @category   Pop
23 * @package    Pop\Http
24 * @author     Nick Sagona, III <dev@nolainteractive.com>
25 * @copyright  Copyright (c) 2009-2023 NOLA Interactive, LLC. (http://www.nolainteractive.com)
26 * @license    http://www.popphp.org/license     New BSD License
27 * @version    4.1.0
28 */
29interface HttpInterface
30{
31
32    /**
33     * Set a header
34     *
35     * @param  Header|string $header
36     * @param  string $value
37     * @return HttpInterface
38     */
39    public function addHeader($header, $value);
40
41    /**
42     * Set all headers
43     *
44     * @param  array $headers
45     * @return HttpInterface
46     */
47    public function addHeaders(array $headers);
48
49    /**
50     * Get a header
51     *
52     * @param  string $name
53     * @return mixed
54     */
55    public function getHeader($name);
56
57    /**
58     * Get header value
59     *
60     * @param  string $name
61     * @return mixed
62     */
63    public function getHeaderValue($name);
64
65    /**
66     * Get all headers
67     *
68     * @return array
69     */
70    public function getHeaders();
71
72    /**
73     * Get all header values as associative array
74     *
75     * @return array
76     */
77    public function getHeadersAsArray();
78
79    /**
80     * Get all header values formatted string
81     *
82     * @param  string $status
83     * @param  string $eol
84     * @return string
85     */
86    public function getHeadersAsString($status = null, $eol = "\r\n");
87
88    /**
89     * Determine if there are headers
90     *
91     * @return boolean
92     */
93    public function hasHeaders();
94
95    /**
96     * Has a header
97     *
98     * @param  string $name
99     * @return boolean
100     */
101    public function hasHeader($name);
102
103    /**
104     * Remove a header
105     *
106     * @param  string $name
107     * @return HttpInterface
108     */
109    public function removeHeader($name);
110
111    /**
112     * Remove all headers
113     *
114     * @return HttpInterface
115     */
116    public function removeHeaders();
117
118    /**
119     * Set the body
120     *
121     * @param  string|Body $body
122     * @return HttpInterface
123     */
124    public function setBody($body);
125
126    /**
127     * Get the body
128     *
129     * @return Body
130     */
131    public function getBody();
132
133    /**
134     * Get body content
135     *
136     * @return mixed
137     */
138    public function getBodyContent();
139
140    /**
141     * Has a body
142     *
143     * @return boolean
144     */
145    public function hasBody();
146
147    /**
148     * Has body content
149     *
150     * @return boolean
151     */
152    public function hasBodyContent();
153
154    /**
155     * Decode the body content
156     *
157     * @param  string $body
158     * @return Body
159     */
160    public function decodeBodyContent($body = null);
161
162    /**
163     * Remove the body
164     *
165     * @return HttpInterface
166     */
167    public function removeBody();
168
169}