private function performHead($Url) { $res = wp_remote_head($Url); //echo '<pre>';var_dump( wp_remote_retrieve_headers($res)); if (is_wp_error($res)) { // WordPress had some error that I do not know about throw new UnknownErrorException($res); } else { $response = new ApiResponse(); $response->setHttpCode(wp_remote_retrieve_response_code($res)); $response->setHeaders(wp_remote_retrieve_headers($res)); // $response->setResponse( wp_remote_retrieve_body( $res ) ); if ($response->getHttpCode() == '400') { // 400 Bad request when there was a problem with the request throw new BadRequestException($Url, $response); } else { if ($response->getHttpCode() == '401') { // 401 Unauthorized when you don't provide a valid key throw new UnauthorizedRequestException(); } else { if ($response->getHttpCode() == '500') { // 500 Internal Server Error throw new InternalServerErrorException(); } } } return $response; } }