use crate::response::ResponseExt as _;
use crate::{ObjectKey, Session};
pub type DeleteResponse = ();
impl Session {
pub fn delete(&self, key: &str) -> DeleteBuilder {
DeleteBuilder {
session: self.clone(),
key: key.to_owned(),
}
}
}
#[derive(Debug)]
pub struct DeleteBuilder {
pub(crate) session: Session,
pub(crate) key: ObjectKey,
}
impl DeleteBuilder {
pub async fn send(self) -> crate::Result<DeleteResponse> {
self.session
.request(reqwest::Method::DELETE, &self.key)?
.send()
.await?
.error_for_status_and_drain()
.await?
.drain_body()
.await;
Ok(())
}
}