152 | | public function offsetExists( $key ) { |
153 | | $allowed = array( 'headers', 'body', 'response', 'cookies', 'filename' ); |
154 | | return in_array( $key, $allowed ); |
| 149 | public function to_array() { |
| 150 | return array( |
| 151 | 'headers' => $this->get_headers(), |
| 152 | 'body' => $this->get_data(), |
| 153 | 'response' => array( |
| 154 | 'code' => $this->get_status(), |
| 155 | 'message' => get_status_header_desc( $this->get_status() ), |
| 156 | ), |
| 157 | 'cookies' => $this->get_cookies(), |
| 158 | 'filename' => $this->filename, |
| 159 | ); |
156 | | |
157 | | /** |
158 | | * Get an ArrayAccess value. |
159 | | * |
160 | | * This is for array access back-compat. |
161 | | * |
162 | | * @param string|int $key Array offset to get. |
163 | | * @return mixed Value if the key is a valid offset, null if invalid. |
164 | | */ |
165 | | public function offsetGet( $key ) { |
166 | | switch ( $key ) { |
167 | | case 'headers': |
168 | | return $this->get_headers(); |
169 | | |
170 | | case 'body': |
171 | | return $this->get_data(); |
172 | | |
173 | | case 'response': |
174 | | return array( |
175 | | 'code' => $this->get_status(), |
176 | | 'message' => get_status_header_desc( $this->get_status() ), |
177 | | ); |
178 | | |
179 | | case 'cookies': |
180 | | return $this->get_cookies(); |
181 | | |
182 | | case 'filename': |
183 | | return $this->filename; |
184 | | } |
185 | | |
186 | | return null; |
187 | | } |
188 | | |
189 | | /** |
190 | | * Set an ArrayAccess value. |
191 | | * |
192 | | * This is for array access back-compat. |
193 | | * |
194 | | * @param string|int $key Array offset to set. |
195 | | * @param mixed $value Value to set. |
196 | | */ |
197 | | public function offsetSet( $key, $value ) { |
198 | | switch ( $key ) { |
199 | | case 'headers': |
200 | | $this->set_headers( $value ); |
201 | | break; |
202 | | |
203 | | case 'body': |
204 | | $this->set_data( $value ); |
205 | | break; |
206 | | |
207 | | case 'response': |
208 | | if ( isset( $value['code'] ) ) { |
209 | | $this->set_status( $value['code'] ); |
210 | | } |
211 | | break; |
212 | | |
213 | | case 'filename': |
214 | | $this->filename = $value; |
215 | | break; |
216 | | } |
217 | | } |
218 | | |
219 | | /** |
220 | | * Unset an ArrayAccess value. |
221 | | * |
222 | | * This is for array access back-compat. |
223 | | * |
224 | | * @param string|int $key Array offset to remove. |
225 | | */ |
226 | | public function offsetUnset( $key ) { |
227 | | $this->offsetSet( $key, null ); |
228 | | } |