| 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 | | } |