private static function ShareaholicHttp::send_with_wp in Share Buttons, Related Posts, Content Analytics - Shareaholic 8
Same name and namespace in other branches
- 7.3 lib/social-share-counts/wordpress_http.php \ShareaholicHttp::send_with_wp()
1 call to ShareaholicHttp::send_with_wp()
- ShareaholicHttp::send in lib/
social-share-counts/ wordpress_http.php - Performs a HTTP request with a url, array of options, and ignore_error flag
File
- lib/
social-share-counts/ wordpress_http.php, line 56
Class
- ShareaholicHttp
- The purpose of this class is to provide an interface around any native http function (wp_remote_get, drupal_http_request, curl) so that one use this consistent API for making http request with well defined input and output.
Code
private static function send_with_wp($url, $options, $ignore_error) {
$request = array();
$result = array();
$request['method'] = isset($options['method']) ? $options['method'] : 'GET';
$request['headers'] = isset($options['headers']) ? $options['headers'] : array();
$request['redirection'] = isset($options['redirection']) ? $options['redirection'] : 5;
$request['timeout'] = isset($options['timeout']) ? $options['timeout'] : 15;
$request['user-agent'] = isset($options['user-agent']) ? $options['user-agent'] : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0';
if (isset($options['body'])) {
if (isset($request['headers']['Content-Type']) && $request['headers']['Content-Type'] === 'application/json') {
$request['body'] = json_encode($options['body']);
}
else {
$request['body'] = $options['body'];
}
}
else {
$request['body'] = NULL;
}
$request['sslverify'] = false;
$response = wp_remote_request($url, $request);
if (is_wp_error($response)) {
$error_message = $response
->get_error_message();
ShareaholicUtilities::log($error_message);
if (!$ignore_error) {
ShareaholicUtilities::log_event('HttpRequestFailure', array(
'error_message' => $error_message,
'url' => $url,
));
}
return false;
}
return $response;
}