Continue using thiserror
Dependencies
- [2]
H7P2HPKXWIP use thiserror - [3]
WGRFJRTEAdd tests, rename Status to Header, implement redirect and proper input handling - [4]
3SPNKI46Improve parsing. Add modules that were missed - [5]
ONQEIR5BWIP mime-type handling
Change contents
- replacement in src/response.rs at line 33
impl TryFrom<(u8, Meta)> for Input {impl From<(u8, Meta)> for Input { - replacement in src/response.rs at line 35
let prompt = super::Meta::try_from(meta).unwrap().0;let prompt = meta.0; - edit in src/response.rs at line 48
#[derive(Error, Debug)]#[error("failed to read mime: {0}")]pub struct MimeError(#[from] mime::FromStrError); - replacement in src/response.rs at line 50
type Error = MimeError;type Error = super::MimeError; - replacement in src/response.rs at line 61
impl From<(u8, Meta)> for Redirect {fn from((code, meta): (u8, Meta)) -> Self {#[derive(Error, Debug)]#[error("failed to read mime: {0}")]pub struct UrlError(#[from] url::ParseError);impl TryFrom<(u8, Meta)> for Redirect {type Error = UrlError;fn try_from((code, meta): (u8, Meta)) -> Result<Self, Self::Error> { - replacement in src/response.rs at line 73
Self {url: meta.0.parse().expect("not a valid url"),Ok(Self {url: meta.0.parse()?, - replacement in src/response.rs at line 76
}}) - edit in src/response.rs at line 156
#[error("{0}")]Mime(#[from] MimeError),#[error("{0}")]Url(#[from] header::UrlError), - replacement in src/response.rs at line 168
1 => Some(Header::Input((sub, meta).try_into()?)),1 => Some(Header::Input((sub, meta).into())), - replacement in src/response.rs at line 171
4 => Some(Header::FailTemp((sub, meta).try_into()?)),5 => Some(Header::FailPerm((sub, meta).try_into()?)),6 => Some(Header::CertRequired((sub, meta).try_into()?)),4 => Some(Header::FailTemp((sub, meta).into())),5 => Some(Header::FailPerm((sub, meta).into())),6 => Some(Header::CertRequired((sub, meta).into())), - replacement in src/response.rs at line 184
impl From<Meta> for Mime {fn from(value: Meta) -> Self {value.0.parse().unwrap()#[derive(Error, Debug)]#[error("reading MIME type: {0}")]pub struct MimeError(#[from] mime::FromStrError);impl TryFrom<Meta> for Mime {type Error = MimeError;fn try_from(value: Meta) -> Result<Self, Self::Error> {Ok(value.0.parse()?)