1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
use reqwest::Method; #[derive(Clone, Debug)] pub enum Command<'a> { DeleteObject, DeleteObjectTagging, GetObject, GetObjectTagging, PutObject { content: &'a [u8], content_type: &'a str, }, PutObjectTagging { tags: &'a str }, ListBucket { prefix: String, delimiter: Option<String>, continuation_token: Option<String> }, GetBucketLocation, PresignGet { expiry_secs: u32 }, PresignPut { expiry_secs: u32 } } impl<'a> Command<'a> { pub fn http_verb(&self) -> Method { match *self { Command::GetObject | Command::ListBucket { .. } | Command::GetBucketLocation | Command::GetObjectTagging | Command::PresignGet { .. } => Method::GET, Command::PutObject { .. } | Command::PutObjectTagging { .. } | Command::PresignPut { .. } => Method::PUT, Command::DeleteObject | Command::DeleteObjectTagging => Method::DELETE, } } }