Continue using thiserror

CandyCorvid
Jul 13, 2023, 1:04 PM
EKHEIJTI5NI3I5IIC5IIBC7XIAOCQ6PXV5WN5AXW3FIVDKPTG3NQC

Dependencies

  • [2] H7P2HPKX WIP use thiserror
  • [3] WGRFJRTE Add tests, rename Status to Header, implement redirect and proper input handling
  • [4] 3SPNKI46 Improve parsing. Add modules that were missed
  • [5] ONQEIR5B WIP mime-type handling

Change contents

  • replacement in src/response.rs at line 33
    [3.2289][2.27:68]()
    impl TryFrom<(u8, Meta)> for Input {
    [3.2289]
    [3.2327]
    impl From<(u8, Meta)> for Input {
  • replacement in src/response.rs at line 35
    [3.2379][3.2379:2444]()
    let prompt = super::Meta::try_from(meta).unwrap().0;
    [3.2379]
    [3.2444]
    let prompt = meta.0;
  • edit in src/response.rs at line 48
    [3.2740][2.69:192]()
    #[derive(Error, Debug)]
    #[error("failed to read mime: {0}")]
    pub struct MimeError(#[from] mime::FromStrError);
  • replacement in src/response.rs at line 50
    [2.236][2.236:268]()
    type Error = MimeError;
    [2.236]
    [2.268]
    type Error = super::MimeError;
  • replacement in src/response.rs at line 61
    [3.3098][3.3098:3191]()
    impl From<(u8, Meta)> for Redirect {
    fn from((code, meta): (u8, Meta)) -> Self {
    [3.3098]
    [3.3191]
    #[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
    [3.3341][3.3341:3423]()
    Self {
    url: meta.0.parse().expect("not a valid url"),
    [3.3341]
    [3.3423]
    Ok(Self {
    url: meta.0.parse()?,
  • replacement in src/response.rs at line 76
    [3.3450][3.3450:3464]()
    }
    [3.3450]
    [3.3464]
    })
  • edit in src/response.rs at line 156
    [2.533]
    [2.533]
    #[error("{0}")]
    Mime(#[from] MimeError),
    #[error("{0}")]
    Url(#[from] header::UrlError),
  • replacement in src/response.rs at line 168
    [2.590][2.590:653]()
    1 => Some(Header::Input((sub, meta).try_into()?)),
    [2.590]
    [2.653]
    1 => Some(Header::Input((sub, meta).into())),
  • replacement in src/response.rs at line 171
    [2.784][2.784:986]()
    4 => Some(Header::FailTemp((sub, meta).try_into()?)),
    5 => Some(Header::FailPerm((sub, meta).try_into()?)),
    6 => Some(Header::CertRequired((sub, meta).try_into()?)),
    [2.784]
    [3.6145]
    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
    [3.6473][3.22:117]()
    impl From<Meta> for Mime {
    fn from(value: Meta) -> Self {
    value.0.parse().unwrap()
    [3.6473]
    [3.6822]
    #[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()?)