Skip to main content

MissingPlugin

Struct MissingPlugin 

Source
pub struct MissingPlugin { /* private fields */ }
Expand description

Takes the place of a plugin that a location names but that is not loaded: the name is misspelled, or the plugin failed to build. It fails every request of that location.

Leaving the name out instead served the location without the plugin, and when that plugin is the authentication or the access list, a broken config turned into an open door.

Implementations§

Source§

impl MissingPlugin

Source

pub fn new(name: Arc<str>) -> Self

Trait Implementations§

Source§

impl Plugin for MissingPlugin

Source§

fn handle_request<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, _step: PluginStep, _session: &'life1 mut Session, _ctx: &'life2 mut Ctx, ) -> Pin<Box<dyn Future<Output = Result<RequestPluginResult>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Processes an HTTP request at a specified lifecycle step. Read more
Source§

fn config_key(&self) -> Cow<'_, str>

Returns a unique key that identifies this specific plugin instance. Read more
Source§

fn handle_response<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, _session: &'life1 mut Session, _ctx: &'life2 mut Ctx, _upstream_response: &'life3 mut ResponseHeader, ) -> Pin<Box<dyn Future<Output = Result<ResponsePluginResult>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Processes an HTTP response at a specified lifecycle step. Read more
Source§

fn handles_plugin_response(&self) -> bool

Whether handle_response is also to see the response that another plugin answered the request with. Read more
Source§

fn error_page( &self, _session: &Session, _status: StatusCode, _message: &str, ) -> Option<(HeaderValue, Bytes)>

The page this plugin has for an error the proxy answers itself - no upstream to be had, a request refused by a limit - in place of the one of the server: its content type and its body. None from a plugin that has none, which is every plugin but error_page, or none for this status. Read more
Source§

fn handle_response_body( &self, _session: &mut Session, _ctx: &mut Ctx, _body: &mut Option<Bytes>, _end_of_stream: bool, ) -> Result<ResponseBodyPluginResult>

Processes an HTTP response body at a specified lifecycle step. Read more
Source§

fn handle_upstream_response( &self, _session: &mut Session, _ctx: &mut Ctx, _upstream_response: &mut ResponseHeader, ) -> Result<ResponsePluginResult>

Processes an upstream response at a specified lifecycle step. Read more
Source§

fn handle_upstream_response_body( &self, _session: &mut Session, _ctx: &mut Ctx, _body: &mut Option<Bytes>, _end_of_stream: bool, ) -> Result<ResponseBodyPluginResult>

Processes an upstream response body at a specified lifecycle step. Read more

Auto Trait Implementations§

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
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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