pub struct ResourceServer { /* private fields */ }Expand description
Server-side payment orchestrator (Go X402ResourceServer subset).
Implementations§
Source§impl ResourceServer
impl ResourceServer
Sourcepub fn new<F>(facilitator: Arc<F>) -> ResourceServerwhere
F: Facilitator + 'static,
pub fn new<F>(facilitator: Arc<F>) -> ResourceServerwhere
F: Facilitator + 'static,
Creates a resource server over any Facilitator.
Sourcepub fn from_dyn(facilitator: Arc<dyn DynFacilitator>) -> ResourceServer
pub fn from_dyn(facilitator: Arc<dyn DynFacilitator>) -> ResourceServer
Creates from an already-erased facilitator handle.
Sourcepub fn facilitator(&self) -> Arc<dyn DynFacilitator> ⓘ
pub fn facilitator(&self) -> Arc<dyn DynFacilitator> ⓘ
Returns a clone of the inner facilitator handle.
Sourcepub fn find_matching_requirements<'a>(
&self,
available: &'a [PaymentRequirements],
payload: &PaymentPayload<PaymentRequirements, Value>,
) -> Option<&'a PaymentRequirements>
pub fn find_matching_requirements<'a>( &self, available: &'a [PaymentRequirements], payload: &PaymentPayload<PaymentRequirements, Value>, ) -> Option<&'a PaymentRequirements>
Go FindMatchingRequirements.
Method form matches the official Go X402ResourceServer surface even
though matching is pure over the arguments.
Sourcepub async fn verify_payment(
&self,
payload: &PaymentPayload<PaymentRequirements, Value>,
requirements: &PaymentRequirements,
) -> Result<VerifyResponse, FacilitatorError>
pub async fn verify_payment( &self, payload: &PaymentPayload<PaymentRequirements, Value>, requirements: &PaymentRequirements, ) -> Result<VerifyResponse, FacilitatorError>
Go VerifyPayment: builds a verify request and calls the facilitator.
§Errors
Propagates facilitator transport / internal errors.
Sourcepub async fn settle_payment(
&self,
payload: &PaymentPayload<PaymentRequirements, Value>,
requirements: &PaymentRequirements,
) -> Result<SettleResponse, FacilitatorError>
pub async fn settle_payment( &self, payload: &PaymentPayload<PaymentRequirements, Value>, requirements: &PaymentRequirements, ) -> Result<SettleResponse, FacilitatorError>
Go SettlePayment: builds a settle request and calls the facilitator.
§Errors
Propagates facilitator transport / internal errors.
Trait Implementations§
Source§impl Clone for ResourceServer
impl Clone for ResourceServer
Source§fn clone(&self) -> ResourceServer
fn clone(&self) -> ResourceServer
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ResourceServer
impl !UnwindSafe for ResourceServer
impl Freeze for ResourceServer
impl Send for ResourceServer
impl Sync for ResourceServer
impl Unpin for ResourceServer
impl UnsafeUnpin for ResourceServer
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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