public static function get_oauth_header($profile, $url, $requestData = array())
 {
     $profile = $profile instanceof xhttp_profile ? $profile->name : $profile ? $profile : 'default';
     # Abort request before executing curl
     xhttp::addHookToRequest($requestData, 'curl-initialization', array(__CLASS__, 'return_authorization_header'), 9);
     $method = isset($requestData['method']) ? $requestData['method'] : isset($requestData['post']) ? 'post' : 'get';
     $requestData['profile']['name'] = $profile;
     return xhttp::request($url, $method, $requestData);
 }
 public function call($url, $method, $parameters, $options = array())
 {
     $options = array_merge(array('verbosity' => 'no_white_space'), $options);
     $data['post'] = xmlrpc_encode_request($method, $parameters, $options);
     $data['post'] = str_replace(array('<string>&#60;base64&#62;', '&#60;/base64&#62;</string>'), array('<base64>', '</base64>'), $data['post']);
     $data['headers']['Content-Type'] = 'text/xml';
     $data['method'] = 'post';
     xhttp::addHookToRequest($data, 'data-preparation', array(__CLASS__, 'set_rpc_data'), 8);
     $response = xhttp::fetch($url, $data);
     $response['raw'] = $response['body'];
     $response['body'] = str_replace('i8>', 'i4>', $response['body']);
     $response['body'] = xmlrpc_decode($response['body']);
     if ($response['body'] and xmlrpc_is_fault($response['body'])) {
         $response['rpc_fault'] = $response['body']['faultString'];
         $response['rpc_fault_code'] = $response['body']['faultCode'];
     }
     return $response;
 }