use super::early_response::Response;
#[allow(unused)]
use crate::hl::RequestData;
#[derive(Clone, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
pub enum Flow<D> {
Continue(D),
Break(Response),
}
pub trait IntoFlow {
type RequestData;
fn into_flow(self) -> Flow<Self::RequestData>;
}
impl<D> IntoFlow for Flow<D> {
type RequestData = D;
fn into_flow(self) -> Flow<Self::RequestData> {
self
}
}
impl IntoFlow for () {
type RequestData = ();
fn into_flow(self) -> Flow<Self::RequestData> {
Flow::Continue(())
}
}
impl IntoFlow for Response {
type RequestData = ();
fn into_flow(self) -> Flow<Self::RequestData> {
Flow::Break(self)
}
}