pub struct InterceptorContext<I = Input, O = Output, E = Error> { /* private fields */ }
Expand description

A container for the data currently available to an interceptor.

Different context is available based on which phase the operation is currently in. For example, context in the “before serialization” phase won’t have a request yet since the input hasn’t been serialized at that point. But once it gets into the “before transmit” phase, the request will be set.

Implementations§

§

impl InterceptorContext

pub fn new(input: Input) -> InterceptorContext

Creates a new interceptor context in the “before serialization” phase.

§

impl<I, O, E> InterceptorContext<I, O, E>

pub fn input(&self) -> Option<&I>

Retrieve the input for the operation being invoked.

pub fn input_mut(&mut self) -> Option<&mut I>

Retrieve the input for the operation being invoked.

pub fn take_input(&mut self) -> Option<I>

Takes ownership of the input.

pub fn set_request(&mut self, request: Request<SdkBody>)

Set the request for the operation being invoked.

pub fn request(&self) -> Option<&Request<SdkBody>>

Retrieve the transmittable request for the operation being invoked. This will only be available once request marshalling has completed.

pub fn request_mut(&mut self) -> Option<&mut Request<SdkBody>>

Retrieve the transmittable request for the operation being invoked. This will only be available once request marshalling has completed.

pub fn take_request(&mut self) -> Option<Request<SdkBody>>

Takes ownership of the request.

pub fn set_response(&mut self, response: Response<SdkBody>)

Set the response for the operation being invoked.

pub fn response(&self) -> Option<&Response<SdkBody>>

Returns the response.

pub fn response_mut(&mut self) -> Option<&mut Response<SdkBody>>

Returns a mutable reference to the response.

pub fn set_output_or_error(&mut self, output: Result<O, OrchestratorError<E>>)

Set the output or error for the operation being invoked.

pub fn output_or_error(&self) -> Option<Result<&O, &OrchestratorError<E>>>

Returns the deserialized output or error.

pub fn output_or_error_mut( &mut self ) -> Option<&mut Result<O, OrchestratorError<E>>>

Returns the mutable reference to the deserialized output or error.

pub fn is_failed(&self) -> bool

Return true if this context’s output_or_error is an error. Otherwise, return false.

§

impl<I, O, E> InterceptorContext<I, O, E>
where E: Debug,

pub fn fail(&mut self, error: OrchestratorError<E>)

Mark this context as failed due to errors during the operation. Any errors already contained by the context will be replaced by the given error.

Trait Implementations§

§

impl<I, O, E> Debug for InterceptorContext<I, O, E>
where I: Debug, O: Debug, E: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'a, I, O, E> From<&'a InterceptorContext<I, O, E>> for AfterDeserializationInterceptorContextRef<'a, I, O, E>

§

fn from( inner: &'a InterceptorContext<I, O, E> ) -> AfterDeserializationInterceptorContextRef<'a, I, O, E>

Converts to this type from the input type.
§

impl<'a, I, O, E> From<&'a InterceptorContext<I, O, E>> for BeforeDeserializationInterceptorContextRef<'a, I, O, E>

§

fn from( inner: &'a InterceptorContext<I, O, E> ) -> BeforeDeserializationInterceptorContextRef<'a, I, O, E>

Converts to this type from the input type.
§

impl<'a, I, O, E> From<&'a InterceptorContext<I, O, E>> for BeforeSerializationInterceptorContextRef<'a, I, O, E>

§

fn from( inner: &'a InterceptorContext<I, O, E> ) -> BeforeSerializationInterceptorContextRef<'a, I, O, E>

Converts to this type from the input type.
§

impl<'a, I, O, E> From<&'a InterceptorContext<I, O, E>> for BeforeTransmitInterceptorContextRef<'a, I, O, E>

§

fn from( inner: &'a InterceptorContext<I, O, E> ) -> BeforeTransmitInterceptorContextRef<'a, I, O, E>

Converts to this type from the input type.
§

impl<'a, I, O, E> From<&'a InterceptorContext<I, O, E>> for FinalizerInterceptorContextRef<'a, I, O, E>

§

fn from( inner: &'a InterceptorContext<I, O, E> ) -> FinalizerInterceptorContextRef<'a, I, O, E>

Converts to this type from the input type.
§

impl<'a, I, O, E> From<&'a mut InterceptorContext<I, O, E>> for BeforeDeserializationInterceptorContextMut<'a, I, O, E>

§

fn from( inner: &'a mut InterceptorContext<I, O, E> ) -> BeforeDeserializationInterceptorContextMut<'a, I, O, E>

Converts to this type from the input type.
§

impl<'a, I, O, E> From<&'a mut InterceptorContext<I, O, E>> for BeforeSerializationInterceptorContextMut<'a, I, O, E>

§

fn from( inner: &'a mut InterceptorContext<I, O, E> ) -> BeforeSerializationInterceptorContextMut<'a, I, O, E>

Converts to this type from the input type.
§

impl<'a, I, O, E> From<&'a mut InterceptorContext<I, O, E>> for BeforeTransmitInterceptorContextMut<'a, I, O, E>

§

fn from( inner: &'a mut InterceptorContext<I, O, E> ) -> BeforeTransmitInterceptorContextMut<'a, I, O, E>

Converts to this type from the input type.
§

impl<'a, I, O, E> From<&'a mut InterceptorContext<I, O, E>> for FinalizerInterceptorContextMut<'a, I, O, E>

§

fn from( inner: &'a mut InterceptorContext<I, O, E> ) -> FinalizerInterceptorContextMut<'a, I, O, E>

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<I = Input, O = Output, E = Error> !RefUnwindSafe for InterceptorContext<I, O, E>

§

impl<I, O, E> Send for InterceptorContext<I, O, E>
where E: Send, I: Send, O: Send,

§

impl<I, O, E> Sync for InterceptorContext<I, O, E>
where E: Sync, I: Sync, O: Sync,

§

impl<I, O, E> Unpin for InterceptorContext<I, O, E>
where E: Unpin, I: Unpin, O: Unpin,

§

impl<I = Input, O = Output, E = Error> !UnwindSafe for InterceptorContext<I, O, E>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32 ) -> TaggedParser<'a, Implicit, Self, E>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more