pub struct RuleInterceptor { /* private fields */ }Implementations§
Trait Implementations§
Source§impl Interceptor for RuleInterceptor
impl Interceptor for RuleInterceptor
Source§fn on_request_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
flow: &'life1 mut Flow,
) -> Pin<Box<dyn Future<Output = InterceptionResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_request_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
flow: &'life1 mut Flow,
) -> Pin<Box<dyn Future<Output = InterceptionResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called after request headers are parsed but before body is read.
Allows early termination or modification of headers/URL.
Source§fn on_request<'life0, 'life1, 'async_trait>(
&'life0 self,
flow: &'life1 mut Flow,
body: HttpBody,
) -> Pin<Box<dyn Future<Output = Result<RequestAction, BoxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_request<'life0, 'life1, 'async_trait>(
&'life0 self,
flow: &'life1 mut Flow,
body: HttpBody,
) -> Pin<Box<dyn Future<Output = Result<RequestAction, BoxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called after full request (including body) is received.
Source§fn on_response_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
flow: &'life1 mut Flow,
) -> Pin<Box<dyn Future<Output = InterceptionResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_response_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
flow: &'life1 mut Flow,
) -> Pin<Box<dyn Future<Output = InterceptionResult> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called after response headers are received from upstream but before body is read.
Source§fn on_response<'life0, 'life1, 'async_trait>(
&'life0 self,
flow: &'life1 mut Flow,
body: HttpBody,
) -> Pin<Box<dyn Future<Output = Result<ResponseAction, BoxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_response<'life0, 'life1, 'async_trait>(
&'life0 self,
flow: &'life1 mut Flow,
body: HttpBody,
) -> Pin<Box<dyn Future<Output = Result<ResponseAction, BoxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called after full response (including body) is received.
fn on_websocket_message<'life0, 'life1, 'async_trait>(
&'life0 self,
flow: &'life1 mut Flow,
message: WebSocketMessage,
) -> Pin<Box<dyn Future<Output = Result<WebSocketMessageAction, BoxError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn on_connect<'life0, 'life1, 'async_trait>(
&'life0 self,
_conn: &'life1 ConnectionInfo,
) -> Pin<Box<dyn Future<Output = ConnectAction> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_connect<'life0, 'life1, 'async_trait>(
&'life0 self,
_conn: &'life1 ConnectionInfo,
) -> Pin<Box<dyn Future<Output = ConnectAction> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called when a new connection is accepted, before any HTTP handling.
Return ConnectAction::Drop to reject the connection.
Source§fn on_disconnect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_conn: &'life1 ConnectionInfo,
_stats: &'life2 ConnectionStats,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_disconnect<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_conn: &'life1 ConnectionInfo,
_stats: &'life2 ConnectionStats,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a connection is closed (after all flows complete or on drop).
Source§fn on_websocket_start<'life0, 'life1, 'async_trait>(
&'life0 self,
_flow: &'life1 mut Flow,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn on_websocket_start<'life0, 'life1, 'async_trait>(
&'life0 self,
_flow: &'life1 mut Flow,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Called when a WebSocket handshake completes (connection established).
Source§fn on_websocket_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_flow: &'life1 mut Flow,
_close_code: u16,
_close_reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_websocket_end<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_flow: &'life1 mut Flow,
_close_code: u16,
_close_reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a WebSocket connection closes normally.
Source§fn on_websocket_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_flow: &'life1 mut Flow,
_error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_websocket_error<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_flow: &'life1 mut Flow,
_error: &'life2 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called when a WebSocket connection encounters an error.
Auto Trait Implementations§
impl !RefUnwindSafe for RuleInterceptor
impl !UnwindSafe for RuleInterceptor
impl Freeze for RuleInterceptor
impl Send for RuleInterceptor
impl Sync for RuleInterceptor
impl Unpin for RuleInterceptor
impl UnsafeUnpin for RuleInterceptor
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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