use serde::{Deserialize, Serialize};
use activitystreams_vocabulary::{impl_default, impl_display};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Deserialize, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum EndpointAuthMethod {
None,
ClientSecretPost,
ClientSecretBasic,
}
impl EndpointAuthMethod {
pub const NONE: &str = "none";
pub const CLIENT_SECRET_POST: &str = "client_secret_post";
pub const CLIENT_SECRET_BASIC: &str = "client_secret_basic";
#[inline]
pub const fn new() -> Self {
Self::ClientSecretBasic
}
#[inline]
pub const fn as_str(&self) -> &'static str {
match self {
Self::None => Self::NONE,
Self::ClientSecretPost => Self::CLIENT_SECRET_POST,
Self::ClientSecretBasic => Self::CLIENT_SECRET_BASIC,
}
}
}
impl_default!(EndpointAuthMethod);
impl_display!(EndpointAuthMethod, str);