This caused $response->isOK() tests to call a function on a non-existing object, causing all hell to break loose.
}
$response = $client->get($url);
if (!$response->isOk()) {
- // TRANS: Exception. %s is a profile URL.
+ // TRANS: Exception. %s is the URL we tried to GET.
throw new Exception(sprintf(_m('Could not GET URL %s.'), $url), $response->getStatus());
}
return $response->getBody();
}
}
$response = $this->send();
+ if (is_null($response)) {
+ // TRANS: Failed to retrieve a remote web resource, %s is the target URL.
+ throw new HTTP_Request2_Exception(sprintf(_m('HTTP request failed without response to URL: %s'), var_export($target, true)));
+ }
return $response;
}
protected function pingHttp($target, $data)
{
$client = new HTTPClient();
- $result = $client->post($target, array(), $data);
+ try {
+ $result = $client->post($target, array(), $data);
- if (!$result->isOk()) {
- common_log(LOG_ERR, __METHOD__ . ' HTTP ' . $result->getStatus() .
- ': ' . $result->getBody());
+ if (!$result->isOk()) {
+ common_log(LOG_ERR, __METHOD__ . ' HTTP ' . $result->getStatus() . ': ' . $result->getBody());
+ }
+ } catch (HTTP_Request2_Exception $e) {
+ common_log(LOG_ERR, __METHOD__ . ' HTTP request generated PHP level error (check logs, could be DNS failure etc.). URL: '.var_export($target,true));
}
}
{
$client = new HTTPClient();
$client->setHeader('Accept', 'text/html,application/xhtml+xml');
- $response = $client->get($url);
+ try {
+ $response = $client->get($url);
- if (!$response->isOk()) {
+ if (!$response->isOk()) {
+ return null;
+ }
+ } catch (HTTP_Request2_Exception $e) {
+ // Any HTTPClient error that might've been thrown
return null;
}
print "Sending for verification to $url ...\n";
$client = new HTTPClient();
- $response = $client->post($url, array(), array('magic_env' => $envxml));
+ try {
+ $response = $client->post($url, array(), array('magic_env' => $envxml));
- print $response->getStatus() . "\n\n";
- print $response->getBody() . "\n\n";
+ print $response->getStatus() . "\n\n";
+ print $response->getBody() . "\n\n";
+ } catch (HTTP_Request2_Exception $e) {
+ print 'Failed POST to URL '.var_export($url, true).': '.$e->getMessage();
+ }
}
if (have_option('--slap')) {