pub struct PluginTargetRewrite {
pub path: Option<PathAndQuery>,
pub method: Option<Method>,
pub authority: Option<HeaderValue>,
}Expand description
A chain’s rewrite of the forwarded request target, captured at the
request_headers phase ([pseudo_header_rewrite]) and applied
when the upstream request is built: the phase runs early (before
authn) but the rewrite shapes the UPSTREAM request only, so it
rides the request extensions from the phase to the forward build
(proxy::proxy_request removes it there — after the route’s own
rewrite and the query transforms, with no route re-match; see the
module’s “Header conventions” section). Default is the no-rewrite
case (no pseudo-header changed); is_noop lets the caller skip
the extension entirely on that fast path.
Fields§
§path: Option<PathAndQuery>The validated :path write: origin-form, the WHOLE upstream
target including any query string.
method: Option<Method>The validated :method write (a method token).
The validated :authority write, as the Host header value
the forwarded request will carry (see PluginForwardHost).
Implementations§
Trait Implementations§
Source§impl Clone for PluginTargetRewrite
impl Clone for PluginTargetRewrite
Source§fn clone(&self) -> PluginTargetRewrite
fn clone(&self) -> PluginTargetRewrite
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PluginTargetRewrite
impl Debug for PluginTargetRewrite
Source§impl Default for PluginTargetRewrite
impl Default for PluginTargetRewrite
Source§fn default() -> PluginTargetRewrite
fn default() -> PluginTargetRewrite
Auto Trait Implementations§
impl !Freeze for PluginTargetRewrite
impl RefUnwindSafe for PluginTargetRewrite
impl Send for PluginTargetRewrite
impl Sync for PluginTargetRewrite
impl Unpin for PluginTargetRewrite
impl UnwindSafe for PluginTargetRewrite
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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