diff options
author | metamuffin <metamuffin@disroot.org> | 2024-07-04 17:15:25 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-07-04 17:15:25 +0200 |
commit | 3f80205783bcf6a2ed682f6f21e5b1877d597328 (patch) | |
tree | 6039d0b040dd697389b5b0a35a78bb258d446bff /src/headers.rs | |
parent | 2c1977bbf97653bc3faae9d4cebcfb61c6cd347b (diff) | |
download | sip-rs-3f80205783bcf6a2ed682f6f21e5b1877d597328.tar sip-rs-3f80205783bcf6a2ed682f6f21e5b1877d597328.tar.bz2 sip-rs-3f80205783bcf6a2ed682f6f21e5b1877d597328.tar.zst |
rfiles
Diffstat (limited to 'src/headers.rs')
-rw-r--r-- | src/headers.rs | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/headers.rs b/src/headers.rs deleted file mode 100644 index d837ee5..0000000 --- a/src/headers.rs +++ /dev/null @@ -1,36 +0,0 @@ -use std::{fmt::Display, str::FromStr}; - -macro_rules! header { - ($hname:literal, struct $name:ident($type:ty)) => { - pub struct $name(pub $type); - impl Header for $name { - const NAME: &'static str = $hname; - } - impl Display for $name { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", self.0) - } - } - impl FromStr for $name { - type Err = anyhow::Error; - fn from_str(s: &str) -> Result<Self, Self::Err> { - Ok($name(<$type>::from_str(s)?)) - } - } - }; -} - -pub trait Header: FromStr<Err = anyhow::Error> + Display { - const NAME: &'static str; -} - -header!("Content-Length", struct ContentLength(usize)); -header!("Call-ID", struct CallID(String)); -header!("CSeq", struct CSeq(String)); -header!("Via", struct Via(String)); -header!("Contact", struct Contact(String)); -header!("Max-Forwards", struct MaxForwards(usize)); -header!("From", struct From(String)); -header!("To", struct To(String)); -header!("User-Agent", struct UserAgent(String)); -header!("Allow", struct Allow(String)); |