use super::{
super::super::{std::*, transcoding::*},
into::*,
};
use {http::header::*, std::convert::*};
impl IntoHeaderValue for Encoding {
fn into_header_value(self) -> HeaderValue {
let value: EncodingHeaderValue = self.into();
value.into()
}
}
#[derive(Clone, Copy, Debug, Default, Display, Eq, FromStr, Hash, PartialEq)]
#[display(lowercase)]
#[from_str(lowercase)]
pub enum EncodingHeaderValue {
#[default]
Identity,
#[strings("br")]
Brotli,
Deflate,
GZip,
#[strings("zstd")]
Zstandard,
}
impl From<Encoding> for EncodingHeaderValue {
fn from(encoding: Encoding) -> Self {
match encoding {
Encoding::Identity => Self::Identity,
Encoding::Brotli => Self::Brotli,
Encoding::Deflate => Self::Deflate,
Encoding::GZip => Self::GZip,
Encoding::Zstandard => Self::Zstandard,
}
}
}
impl From<EncodingHeaderValue> for Encoding {
fn from(value: EncodingHeaderValue) -> Self {
match value {
EncodingHeaderValue::Identity => Encoding::Identity,
EncodingHeaderValue::Brotli => Encoding::Brotli,
EncodingHeaderValue::Deflate => Encoding::Deflate,
EncodingHeaderValue::GZip => Encoding::GZip,
EncodingHeaderValue::Zstandard => Encoding::Zstandard,
}
}
}
impl From<EncodingHeaderValue> for HeaderValue {
fn from(value: EncodingHeaderValue) -> HeaderValue {
HeaderValue::from_static(value.into())
}
}