    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    use std::fmt::{Debug, Display};

    use actix_web::{http::header::TryIntoHeaderValue, web::Bytes};

    pub mod basic;
    pub mod bearer;

    /// Authentication challenge for `WWW-Authenticate` header.
    pub trait Challenge: TryIntoHeaderValue + Debug + Display + Clone + Send + Sync {
        /// Converts the challenge into a bytes suitable for HTTP transmission.
        fn to_bytes(&self) -> Bytes;
    }