paypal_rust/resources/enums/
http_method.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
4pub enum HttpMethod {
5    #[serde(rename = "GET")]
6    Get,
7    #[serde(rename = "POST")]
8    Post,
9    #[serde(rename = "PUT")]
10    Put,
11    #[serde(rename = "DELETE")]
12    Delete,
13    #[serde(rename = "HEAD")]
14    Head,
15    #[serde(rename = "CONNECT")]
16    Connect,
17    #[serde(rename = "OPTIONS")]
18    Options,
19    #[serde(rename = "PATCH")]
20    Patch,
21}
22
23impl HttpMethod {
24    pub const fn as_str(self) -> &'static str {
25        match self {
26            Self::Get => "GET",
27            Self::Post => "POST",
28            Self::Put => "PUT",
29            Self::Delete => "DELETE",
30            Self::Head => "HEAD",
31            Self::Connect => "CONNECT",
32            Self::Options => "OPTIONS",
33            Self::Patch => "PATCH",
34        }
35    }
36}
37
38impl Default for HttpMethod {
39    fn default() -> Self {
40        Self::Get
41    }
42}
43
44impl AsRef<str> for HttpMethod {
45    fn as_ref(&self) -> &str {
46        self.as_str()
47    }
48}
49
50impl std::fmt::Display for HttpMethod {
51    fn fmt(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
52        self.as_str().fmt(formatter)
53    }
54}