pub struct X402MiddlewareService<TSource, TFacilitator> { /* private fields */ }Available on crate feature
server only.Expand description
Axum service that enforces x402 payments on incoming requests.
Generic over TSource which implements PriceTagSource to support
both static and dynamic pricing strategies.
Trait Implementations§
Source§impl<TSource: Clone, TFacilitator: Clone> Clone for X402MiddlewareService<TSource, TFacilitator>
impl<TSource: Clone, TFacilitator: Clone> Clone for X402MiddlewareService<TSource, TFacilitator>
Source§fn clone(&self) -> X402MiddlewareService<TSource, TFacilitator>
fn clone(&self) -> X402MiddlewareService<TSource, TFacilitator>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<TSource, TFacilitator> Service<Request<Body>> for X402MiddlewareService<TSource, TFacilitator>
impl<TSource, TFacilitator> Service<Request<Body>> for X402MiddlewareService<TSource, TFacilitator>
Source§fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>>
Delegates readiness polling to the wrapped inner service.
Source§fn call(&mut self, req: Request) -> Self::Future
fn call(&mut self, req: Request) -> Self::Future
Intercepts the request, injects payment enforcement logic, and forwards to the wrapped service.
Source§type Error = Infallible
type Error = Infallible
Errors produced by the service.
Auto Trait Implementations§
impl<TSource, TFacilitator> Freeze for X402MiddlewareService<TSource, TFacilitator>
impl<TSource, TFacilitator> !RefUnwindSafe for X402MiddlewareService<TSource, TFacilitator>
impl<TSource, TFacilitator> Send for X402MiddlewareService<TSource, TFacilitator>
impl<TSource, TFacilitator> Sync for X402MiddlewareService<TSource, TFacilitator>
impl<TSource, TFacilitator> Unpin for X402MiddlewareService<TSource, TFacilitator>
impl<TSource, TFacilitator> !UnwindSafe for X402MiddlewareService<TSource, TFacilitator>
Blanket Implementations§
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T, Request> ServiceExt<Request> for T
impl<T, Request> ServiceExt<Request> for T
Source§fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
Yields a mutable reference to the service when it is ready to accept a request.
Source§fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
Yields the service when it is ready to accept a request.
Source§fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
Consume this
Service, calling it with the provided request once it is ready.Source§fn and_then<F>(self, f: F) -> AndThen<Self, F>
fn and_then<F>(self, f: F) -> AndThen<Self, F>
Executes a new future after this service’s future resolves. This does
not alter the behaviour of the
poll_ready method. Read moreSource§fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
Maps this service’s response value to a different value. This does not
alter the behaviour of the
poll_ready method. Read moreSource§fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
Maps this service’s error value to a different value. This does not
alter the behaviour of the
poll_ready method. Read moreSource§fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
Maps this service’s result type (
Result<Self::Response, Self::Error>)
to a different value, regardless of whether the future succeeds or
fails. Read moreSource§fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>
Composes a function in front of the service. Read more
Source§fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
Composes an asynchronous function after this service. Read more
Source§fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
Composes a function that transforms futures produced by the service. Read more