r402-http 0.21.0

HTTP transport layer for the x402 payment protocol.
Documentation
//! Axum/Tower payment gate. `SettlementMode` schedules `authorization`'s after-handler settle.

mod builder;
mod fail;
mod gate;
mod hooks;
mod layer;
mod overrides;
mod pricing;
mod receipt;
#[cfg(feature = "siwx")]
mod siwx;
mod verify;

pub use builder::{BuildError, X402Middleware};
pub use fail::{GateError, reason_to_status};
pub use gate::Gate;
pub use hooks::{DynGateHooks, GateHooks, ProtectedRequestOutcome};
pub use layer::{X402Layer, X402MiddlewareService};
pub use overrides::{
    SETTLEMENT_OVERRIDES_HEADER, SettlementOverrideError, SettlementOverrides, UptoActualAmount,
    marshal_settlement_overrides, resolve_response_settlement_amount, set_settlement_overrides,
    set_settlement_overrides_on_response, settlement_overrides_header_name,
    strip_response_settlement_overrides, take_settlement_overrides_header,
};
pub use pricing::{DynamicPriceTags, PriceTagSource, StaticPriceTags};
#[cfg(feature = "siwx")]
pub use r402_extensions::siwx::{
    InMemoryPaidAddressStore, PaidAddressStore, SIWX_HTTP_HEADER, SIWX_KEY, SiwxChain,
    SiwxClientExtension, SiwxError, SiwxOrigin, SiwxOriginError, SiwxProof, SiwxProofError,
    SiwxSigner,
};
pub use r402_facilitator::{Facilitator, FacilitatorClient, FacilitatorClientError};
pub use r402_server::{
    BackgroundSettlementTracker, ResourceServer, SchemeNetworkServer, SettlementMode,
    SkipHandlerDirective,
};
pub use receipt::settlement_to_header;
#[cfg(feature = "siwx")]
pub use siwx::SiwxGate;

pub use crate::headers::{
    PAYMENT_REQUIRED, PAYMENT_RESPONSE, PAYMENT_SIGNATURE, SIGN_IN_WITH_X, X402_EXPOSED_HEADERS,
    ensure_expose_headers, merge_private, set_no_store,
};