fetchr-http 0.1.1

HTTP transport layer, range probes, and header detection for Fetchr.
Documentation
use thiserror::Error;

#[derive(Error, Debug)]
pub enum HttpError {
    #[error("HTTP request failed: {0}")]
    Reqwest(#[from] reqwest::Error),

    #[error("Invalid URL '{0}'")]
    InvalidUrl(String),

    #[error("Server returned unsuccessful status code {status}: {message}")]
    HttpStatus { status: u16, message: String },

    #[error("Range request failed or not supported by server")]
    RangeNotSupported,

    #[error("Header parsing error: {0}")]
    HeaderParse(String),
}

pub type Result<T> = std::result::Result<T, HttpError>;