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>) -> Selfwhere
F: Facilitator + 'static,
pub fn new<F>(facilitator: Arc<F>) -> Selfwhere
F: Facilitator + 'static,
Creates a resource server over any Facilitator.
Sourcepub fn from_dyn(facilitator: Arc<dyn DynFacilitator>) -> Self
pub fn from_dyn(facilitator: Arc<dyn DynFacilitator>) -> Self
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: &WirePaymentPayload,
) -> Option<&'a PaymentRequirements>
pub fn find_matching_requirements<'a>( &self, available: &'a [PaymentRequirements], payload: &WirePaymentPayload, ) -> 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: &WirePaymentPayload,
requirements: &PaymentRequirements,
) -> Result<VerifyResponse, FacilitatorError>
pub async fn verify_payment( &self, payload: &WirePaymentPayload, 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: &WirePaymentPayload,
requirements: &PaymentRequirements,
) -> Result<SettleResponse, FacilitatorError>
pub async fn settle_payment( &self, payload: &WirePaymentPayload, 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
Auto 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<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