pub trait BufferedToBody {
type Buffered;
type Body: http_body::Body;
fn buffered_to_body(buffered: Self::Buffered) -> Self::Body;
}
pub trait IntoBody {
type Body: http_body::Body;
fn into_body(self) -> Self::Body;
}
pub struct Trivial<Buffered>(pub(crate) core::marker::PhantomData<Buffered>);
impl<Buffered> BufferedToBody for Trivial<Buffered>
where
Buffered: IntoBody,
{
type Buffered = Buffered;
type Body = <Buffered as IntoBody>::Body;
fn buffered_to_body(buffered: Buffered) -> Self::Body {
buffered.into_body()
}
}