pub enum ResponseDecision {
Continue,
Modified(ResponseEdit),
Replace(HttpResponse),
}Expand description
The typed outcome of a response-side filter (ADR 000073).
Variants§
Continue
Modified(ResponseEdit)
Replace(HttpResponse)
Stop the chain and send this SYNTHESISED response instead of the upstream one
(the upstream body stream is dropped, never read — ADR 000038 stays intact).
Distinct from the request side’s short-circuit: nothing is short-circuited
here — a response that already arrived is being replaced (P12). The host
validates the returned headers fail-closed, exactly like a short-circuit
output (ADR 000071 rules).
Trait Implementations§
Source§impl Clone for ResponseDecision
impl Clone for ResponseDecision
Source§fn clone(&self) -> ResponseDecision
fn clone(&self) -> ResponseDecision
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl ComponentType for ResponseDecision
Source§impl Debug for ResponseDecision
impl Debug for ResponseDecision
Source§impl From<&ResponseDecision> for SpanOutcome
impl From<&ResponseDecision> for SpanOutcome
Source§fn from(d: &ResponseDecision) -> Self
fn from(d: &ResponseDecision) -> Self
Converts to this type from the input type.
impl Lift for ResponseDecision
impl Lower for ResponseDecision
Auto Trait Implementations§
impl Freeze for ResponseDecision
impl RefUnwindSafe for ResponseDecision
impl Send for ResponseDecision
impl Sync for ResponseDecision
impl Unpin for ResponseDecision
impl UnsafeUnpin for ResponseDecision
impl UnwindSafe for ResponseDecision
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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