mod api_key;
mod basic;
mod bearer;
use std::collections::HashMap;
pub use api_key::ApiKey;
pub use basic::Basic;
pub use bearer::Bearer;
use poem::Request;
use crate::{registry::MetaParamIn, ParseRequestError};
pub trait BasicAuthorization: Sized {
fn from_request(req: &Request) -> Result<Self, ParseRequestError>;
}
pub trait BearerAuthorization: Sized {
fn from_request(req: &Request) -> Result<Self, ParseRequestError>;
}
pub trait ApiKeyAuthorization: Sized {
fn from_request(
req: &Request,
query: &HashMap<String, String>,
name: &str,
in_type: MetaParamIn,
) -> Result<Self, ParseRequestError>;
}