objectstore_client/
delete.rs1use crate::response::ResponseExt as _;
2use crate::{ObjectKey, Session};
3
4pub type DeleteResponse = ();
6
7impl Session {
8 pub fn delete(&self, key: &str) -> DeleteBuilder {
10 DeleteBuilder {
11 session: self.clone(),
12 key: key.to_owned(),
13 }
14 }
15}
16
17#[derive(Debug)]
19pub struct DeleteBuilder {
20 pub(crate) session: Session,
21 pub(crate) key: ObjectKey,
22}
23
24impl DeleteBuilder {
25 pub async fn send(self) -> crate::Result<DeleteResponse> {
27 self.session
28 .request(reqwest::Method::DELETE, &self.key)?
29 .send()
30 .await?
31 .error_for_status_and_drain()
32 .await?
33 .drain_body()
34 .await;
35 Ok(())
36 }
37}