-
Notifications
You must be signed in to change notification settings - Fork 0
/
RequestInterface.php
192 lines (173 loc) · 4.54 KB
/
RequestInterface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
<?php
/**
* File defining Backend\Interfaces\RequestInterface.
*
* PHP Version 5.3
*
* @category Backend
* @package Interfaces
* @author J Jurgens du Toit <jrgns@backend-php.net>
* @copyright 2011 - 2012 Jade IT (cc)
* @license http://www.opensource.org/licenses/mit-license.php MIT License
* @link http://backend-php.net
*/
namespace Backend\Interfaces;
/**
* The Request class which helps determine the Query string and request format.
*
* @category Backend
* @package Interfaces
* @author J Jurgens du Toit <jrgns@backend-php.net>
* @license http://www.opensource.org/licenses/mit-license.php MIT License
* @link http://backend-php.net
*/
interface RequestInterface
{
/**
* The constructor for the Request class
*
* If no parameters are supplied, determine the properties of the Request
* from the current state.
*
* @param mixed $url The URL of the request
* @param string $method The request method.
* @param mixed $body The request data.
*/
public function __construct($url = null, $method = null, $body = null);
/**
* Return the HTTP Method used to make the request.
*
* @return string
*/
public function getMethod();
/**
* Set the Request's method.
*
* @param string $method The Request Method.
*
* @return \Backend\Interfaces\RequestInterface
*/
public function setMethod($method);
/**
* Return the specified Request header.
*
* @param string $name The name of the header to return.
*
* @return string
*/
public function getHeader($name);
/**
* Set the specified Request header.
*
* If the name is null, the header won't have a name, and will contain only
* the value of the header.
*
* @param string $name The name of the header to set.
* @param string $value The value of the header.
*
* @return \Backend\Interfaces\RequestInterface
*/
public function setHeader($name, $value);
/**
* Return the Request headers.
*
* @return array
*/
public function getHeaders();
/**
* Set the Request headers.
*
* @param array $headers An array of headers for the Request.
*
* @return \Backend\Interfaces\RequestInterface
*/
public function setHeaders(array $headers);
/**
* Return the Request's body.
*
* @return array The Request body.
*/
public function getBody();
/**
* Set the Request's body.
*
* Strings should be parsed for variables and objects should be casted to arrays.
*
* @param mixed $body The Request's body.
*
* @return \Backend\Interfaces\RequestInterface
*/
public function setBody($body);
/**
* Return the path of the Request.
*
* @return string
*/
public function getPath();
/**
* Set and cleanup the path.
*
* The path should be URL decoded before calling this method.
*
* @param string $path The path.
*
* @return \Backend\Interfaces\RequestInterface
*/
public function setPath($path);
/**
* Return the url to this Request.
*
* @return string
*/
public function getUrl();
/**
* Set the Request's URL.
*
* @param string $url The url.
*
* @return \Backend\Interfaces\RequestInterface
*/
public function setUrl($url);
/**
* Determine the requested MIME Type for the request.
*
* @return string The MIME Type for the request.
*/
public function getMimeType();
/**
* Set the Request MIME Type.
*
* @param mixed $mimeType The Request's MIME Type.
*
* @return \Backend\Interfaces\RequestInterface
*/
public function setMimeType($mimeType);
/**
* Determine the requested format for the request.
*
* @return string The format for the request.
*/
public function getSpecifiedFormat();
/**
* Set the Request Specified Format.
*
* @param mixed $format The Request's specified format.
*
* @return \Backend\Interfaces\RequestInterface
*/
public function setSpecifiedFormat($format);
/**
* Get the Request Extension.
*
* @return string The extension of the request.
*/
public function getExtension();
/**
* Set the Request Extension.
*
* @param mixed $extension The Request's extension.
*
* @return \Backend\Interfaces\RequestInterface
*/
public function setExtension($extension);
}