/**
  * Send request to any file
  * 
  * @param string method
  * @param string url to send
  * @param mixed arguments to send
  */
 public function sendRequest($method, $url, $args, $timeout = 15)
 {
     WPRC_Loader::includeWordpressHttp();
     if (isset($args['request'])) {
         $body_array = array('action' => $args['action'], 'request' => serialize($args['request']));
     } else {
         $body_array = array('action' => $args['action']);
     }
     // log
     $debug_msg = sprintf('SERVER REQUEST, method: %s, timeout: %d, uri: %s, args: %s', $method, $timeout, $url, print_r($args, true));
     WPRC_Functions::log($debug_msg, 'server', 'server.log');
     switch ($method) {
         case 'post':
             $request = wp_remote_post($url, array('timeout' => $timeout, 'body' => $body_array));
             // log
             $debug_msg = sprintf('SERVER REQUEST, response: %s', print_r($request, true));
             WPRC_Functions::log($debug_msg, 'server', 'server.log');
             if (is_wp_error($request) || 200 != wp_remote_retrieve_response_code($request)) {
                 // log
                 if (is_wp_error($request)) {
                     $debug_msg = sprintf('SERVER REQUEST, response error: %s', print_r($request->get_error_message(), true));
                 } else {
                     $debug_msg = sprintf('SERVER REQUEST, response error code: %s', print_r(wp_remote_retrieve_response_code($request), true));
                 }
                 WPRC_Functions::log($debug_msg, 'server', 'server.log');
                 // connection failed
                 return false;
             }
             $res = @unserialize(wp_remote_retrieve_body($request));
             if (false === $res) {
                 $res = new WP_Error('repository_connector_error', __('An unknown error occurred.', 'installer'), wp_remote_retrieve_body($request));
                 // log
                 $debug_msg = sprintf('SERVER REQUEST, response unknown error: %s', print_r(wp_remote_retrieve_body($request), true));
                 WPRC_Functions::log($debug_msg, 'server', 'server.log');
             }
             break;
     }
     return $res;
 }