/**
  * downloadFile
  * 下载文件
  *
  * @param string $bucket
  * @param string $src  远程文件名
  * @param string $dest (optional) 本地文件路径
  * @throws \GuzzleHttp\Exception\RequestException 请求失败时
  * @return string|boolean
  */
 public function downloadFile($bucket, $src, $dest = null)
 {
     $file = $this->queryFile($bucket, $src);
     $sign = $this->auth->generateOneTimeSign($src, $bucket, false);
     $url = $file->data->access_url . '?sign=' . $sign;
     if ($dest) {
         if (file_exists($dest) && strtolower($file->data->sha) == hash_file('sha1', $dest)) {
             return true;
         }
         $this->restClient->getHttpClient()->request('GET', $url, ['sink' => $dest]);
         return true;
     }
     return $url;
 }
 public function testGetHttpClient()
 {
     $domain = $this->faker->domainName;
     $restClient = new RestClient(['domain' => $domain]);
     $httpClient = $restClient->getHttpClient();
     $this->assertInstanceOf(HttpClient::class, $httpClient);
 }