tencent_qcloud_cos_rs/
service.rs

1/*! 查询bucket列表
2*/
3use crate::client::Client;
4use crate::request::Request;
5use crate::request::Response;
6
7#[async_trait::async_trait]
8pub trait Service {
9    async fn get_bucket_list(&self) -> Response;
10}
11
12#[async_trait::async_trait]
13impl Service for Client {
14    /**
15    查询请求者名下的所有存储桶列表或特定地域下的存储桶列表
16    见[文档](https://cloud.tencent.com/document/product/436/8291)
17    # Examples
18    ```
19    use tencent_qcloud_cos_rs::client::Client;
20    use tencent_qcloud_cos_rs::service::Service;
21    async {
22    let client = Client::new("foo", "bar", None, "qcloudtest-1256650966", "ap-guangzhou");
23    let resp = client.get_bucket_list().await;
24    assert!(resp.error_message.contains("403"));
25    };
26    ```
27    */
28    async fn get_bucket_list(&self) -> Response {
29        let host = self.get_host_for_bucket_query();
30        let mut headers = self.gen_common_headers();
31        headers.insert("Host".to_string(), host);
32        headers = self.get_headers_with_auth("get", "/", None, Some(headers), None);
33        let resp = Request::get(
34            format!("https://{}/", self.get_host_for_bucket_query()).as_str(),
35            None,
36            Some(&headers),
37        )
38        .await;
39        self.make_response(resp)
40    }
41}