#[derive(Clone, Debug, PartialEq)]
pub enum UriError<'uri> {
Scheme(SchemeError<'uri>),
Authority(AuthorityError<'uri>),
InvalidPathQueryChar(&'uri str),
Path(PathError<'uri>),
Query(QueryError<'uri>),
Fragment(FragmentError<'uri>),
SchemeData(SchemeDataError<'uri>),
}
#[derive(Clone, Debug, PartialEq)]
pub struct ParsingDetail<'uri> {
pub component: &'static str,
pub span_start: usize,
pub span_end: usize,
pub source: &'uri str,
pub clipped_span: &'uri str,
pub clipped_remaining: &'uri str,
}
#[derive(Clone, Debug, PartialEq)]
pub enum SchemeError<'uri> {
Invalid,
Unimplemented(crate::Scheme<'uri>),
Nothing,
RunAway,
ParsingDetailed(ParsingDetail<'uri>),
}
#[derive(Clone, Debug, PartialEq)]
pub enum AuthorityError<'uri> {
RunAway,
ParsedNothing,
MissingHost,
InvalidPort,
InvalidAuthority,
ParsingDetailed(ParsingDetail<'uri>),
}
#[derive(Clone, Debug, PartialEq)]
pub enum PathError<'uri> {
ParsingDetailed(ParsingDetail<'uri>),
}
#[derive(Clone, Debug, PartialEq)]
pub enum QueryError<'uri> {
ParsingDetailed(ParsingDetail<'uri>),
}
#[derive(Clone, Debug, PartialEq)]
pub enum FragmentError<'uri> {
ParsingDetailed(ParsingDetail<'uri>),
}
#[derive(Clone, Debug, PartialEq)]
pub enum SchemeDataError<'uri> {
ParsingDetailed(ParsingDetail<'uri>),
}