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
use reqwest::Method; pub enum Command<'a> { DeleteObject, DeleteObjectTagging, GetObject, GetObjectTagging, PutObject { content: &'a [u8], content_type: &'a str, }, PutObjectTagging { tags: &'a str }, ListBucket { prefix: &'a str, delimiter: Option<&'a str>, continuation_token: Option<String> }, GetBucketLocation } impl<'a> Command<'a> { pub fn http_verb(&self) -> Method { match *self { Command::GetObject | Command::ListBucket { .. } | Command::GetBucketLocation | Command::GetObjectTagging => Method::GET, Command::PutObject { .. } | Command::PutObjectTagging { .. } => Method::PUT, Command::DeleteObject | Command::DeleteObjectTagging => Method::DELETE, } } }