use crate::TextHandlerImpl;
use alux_http::HttpInputAlg;
use core::marker::PhantomData;
pub struct TextInputRole<Role, Input>(PhantomData<fn(Role) -> Input>);
pub struct PathRole;
pub struct QueryRole;
pub struct BodyRole;
pub struct FormRole;
pub struct MultipartRole;
pub struct RawBodyRole;
pub struct HeaderRole;
pub struct CookieRole;
pub struct AuthRole;
pub struct ContextRole;
impl HttpInputAlg for TextHandlerImpl {
type Path<Input> = TextInputRole<PathRole, Input>;
type Query<Input> = TextInputRole<QueryRole, Input>;
type Body<Input> = TextInputRole<BodyRole, Input>;
type Form<Input> = TextInputRole<FormRole, Input>;
type Multipart<Input> = TextInputRole<MultipartRole, Input>;
type RawBody<Input> = TextInputRole<RawBodyRole, Input>;
type Header<Input> = TextInputRole<HeaderRole, Input>;
type Cookie<Input> = TextInputRole<CookieRole, Input>;
type Auth<Input> = TextInputRole<AuthRole, Input>;
type Context<Input> = TextInputRole<ContextRole, Input>;
}