buildRequest('status');
switch($res->getStatusCode()) {
case 200:
echo 'Successfully connected to the API';
break;
case 401:
echo 'Failed: Invalid credentials';
break;
default:
throw new MyException("Invalid response from api...");
break;
}
}
public function executeConfig()
{
$res = $this->buildRequest('status');
$data = json_decode($res->getBody());
$queue_size = $data->result->RemainingSizeMB;
$current_speed = $data->result->DownloadRate;
$output = '
- Remaining'.$queue_size.'
- Speed'.$current_speed.'
';
return $output;
}
public function buildRequest($endpoint)
{
$config = $this->config;
$url = $config->url;
$username = $config->username;
$password = $config->password;
$rebuild_url = str_replace('http://', 'http://'.$username.':'.$password.'@', $url);
$rebuild_url = str_replace('https://', 'https://'.$username.':'.$password.'@', $rebuild_url);
$api_url = $rebuild_url.'jsonrpc/'.$endpoint;
$client = new Client(['http_errors' => false]);
$res = $client->request('GET', $api_url);
return $res;
}
}