public function update($body, $path)
{
global $wp_version;
$params = array('api_key' => $this->api_key, 'expires' => time() + 900);
$path = '/v2/assets/' . $path;
$params['signature'] = $this->sign_request(array('path' => $path, 'method' => 'PATCH', 'body' => $body), $params);
foreach ($params as &$param) {
$param = rawurlencode($param);
}
$url = add_query_arg($params, 'https://api.ooyala.com' . $path);
if ($wp_version >= 3.4) {
return wp_remote_request($url, array('headers' => array('Content-Type' => 'application/json'), 'method' => 'PATCH', 'body' => $body, 'timeout' => apply_filters('ooyala_http_request_timeout', 10)));
}
// Workaround for core bug - http://core.trac.wordpress.org/ticket/18589
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
return array('body' => $response, 'response' => array('code' => $status));
}