#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("[no-sentry] Illegal characters in request header '{0}'")]
RequestHeaderError(crate::HeaderName),
#[error("[no-sentry] Backend error: {0}")]
BackendError(String),
#[error("[no-sentry] Network error: {0}")]
NetworkError(String),
#[error("The rust-components network backend must be initialized before use!")]
BackendNotInitialized,
#[error("Backend already initialized.")]
SetBackendError,
#[error("[no-sentry] URL Parse Error: {0}")]
UrlError(#[source] url::ParseError),
#[error("[no-sentry] Validation error: URL does not use TLS protocol.")]
NonTlsUrl,
}
impl From<url::ParseError> for Error {
fn from(u: url::ParseError) -> Self {
Error::UrlError(u)
}
}
#[derive(thiserror::Error, Debug, Clone)]
#[error("Error: {method} {url} returned {status}")]
pub struct UnexpectedStatus {
pub status: u16,
pub method: crate::Method,
pub url: url::Url,
}