     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;
    }