#![no_std]
#![doc = include_str!("../README.md")]
#[cfg(feature = "std")]
extern crate std;
pub mod buffer;
#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub enum Provider {
Hetzner,
}
#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub enum ApiFamily {
Cloud,
Dns,
Security,
Storage,
Extended,
}
#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub enum Method {
Get,
Post,
Put,
Delete,
}
impl Method {
#[must_use]
pub const fn as_str(self) -> &'static str {
match self {
Self::Get => "GET",
Self::Post => "POST",
Self::Put => "PUT",
Self::Delete => "DELETE",
}
}
}
#[cfg(test)]
mod tests {
use super::{ApiFamily, Method, Provider};
#[test]
fn exposes_provider_neutral_domains() {
assert_eq!(Provider::Hetzner, Provider::Hetzner);
assert_eq!(ApiFamily::Cloud, ApiFamily::Cloud);
assert_eq!(Method::Get, Method::Get);
assert_eq!(Method::Post.as_str(), "POST");
}
}