Skip to main content

NeutralExtractor

Struct NeutralExtractor 

Source
pub struct NeutralExtractor<ReqBody> { /* private fields */ }
Expand description

Base extractor that produces an empty cache key.

This is an internal building block used by other extractors. Users should start extractor chains with Method::new() instead.

§Type Parameters

  • ReqBody - The HTTP request body type. Must implement hyper::body::Body with Send bounds. This parameter propagates through extractor chains to ensure type safety.

§When You’ll Encounter This

You typically don’t create this directly. It appears as the innermost type in extractor chains:

use hitbox_http::extractors::{Method, path::PathExtractor};

// The full type is Path<Method<NeutralExtractor<Empty<Bytes>>>>
let extractor = Method::new().path("/users/{id}");

Implementations§

Source§

impl<ResBody> NeutralExtractor<ResBody>

Source

pub fn new() -> Self

Creates a new neutral extractor.

Trait Implementations§

Source§

impl<ReqBody: Debug> Debug for NeutralExtractor<ReqBody>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<ResBody> Default for NeutralExtractor<ResBody>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<ResBody> Extractor for NeutralExtractor<ResBody>
where ResBody: Body + Send + 'static, ResBody::Error: Send,

Source§

type Subject = CacheableHttpRequest<ResBody>

The type from which cache key components are extracted.
Source§

fn get<'life0, 'async_trait>( &'life0 self, subject: Self::Subject, ) -> Pin<Box<dyn Future<Output = KeyParts<Self::Subject>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Extract cache key components from the subject. Read more

Auto Trait Implementations§

§

impl<ReqBody> Freeze for NeutralExtractor<ReqBody>

§

impl<ReqBody> RefUnwindSafe for NeutralExtractor<ReqBody>

§

impl<ReqBody> Send for NeutralExtractor<ReqBody>

§

impl<ReqBody> Sync for NeutralExtractor<ReqBody>

§

impl<ReqBody> Unpin for NeutralExtractor<ReqBody>

§

impl<ReqBody> UnwindSafe for NeutralExtractor<ReqBody>

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<E> BodyExtractor for E
where E: Extractor,

Source§

fn body(self, extraction: BodyExtraction) -> Body<E>

Adds body extraction with the specified mode.
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.

Source§

impl<E> HeaderExtractor for E
where E: Extractor,

Source§

fn header(self, name: String) -> Header<E>

Adds extraction for a single header by exact name.
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<E> MethodExtractor for E
where E: Extractor,

Source§

fn method(self) -> Method<E>

Adds HTTP method extraction to the chain.
Source§

impl<E> PathExtractor for E
where E: Extractor,

Source§

fn path(self, resource: &str) -> Path<E>

Adds path parameter extraction with the given pattern. Read more
Source§

impl<E> QueryExtractor for E
where E: Extractor,

Source§

fn query(self, name: String) -> Query<E>

Adds extraction for a single query parameter by name.
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 = 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>,

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<E> VersionExtractor for E
where E: Extractor,

Source§

fn version(self) -> Version<E>

Adds HTTP version extraction to this extractor chain.
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