pub enum ResponseOutcome {
Forward(HttpResponse),
Respond(HttpResponse),
}Expand description
The result of driving a response back through the chain (ADR 000073): the typed successor of the old in-band “non-empty body means synthetic” signal.
Variants§
Forward(HttpResponse)
The chain passed: send the (possibly edited) status + headers and stream the upstream
body through (its body is empty — header-only, ADR 000038).
Respond(HttpResponse)
Send this SYNTHESISED response instead of the upstream one (a filter’s replace, or
the chain failed closed on a trap / deadline) — the upstream stream is dropped unread.
Auto Trait Implementations§
impl Freeze for ResponseOutcome
impl RefUnwindSafe for ResponseOutcome
impl Send for ResponseOutcome
impl Sync for ResponseOutcome
impl Unpin for ResponseOutcome
impl UnsafeUnpin for ResponseOutcome
impl UnwindSafe for ResponseOutcome
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more