1mod builder;
4mod fail;
5mod gate;
6mod hooks;
7mod layer;
8mod overrides;
9mod pricing;
10mod receipt;
11#[cfg(feature = "siwx")]
12mod siwx;
13mod verify;
14
15pub use builder::{BuildError, X402Middleware};
16pub use fail::{GateError, reason_to_status};
17pub use gate::Gate;
18pub use hooks::{DynGateHooks, GateHooks, ProtectedRequestOutcome};
19pub use layer::{X402Layer, X402MiddlewareService};
20pub use overrides::{
21 SETTLEMENT_OVERRIDES_HEADER, SettlementOverrideError, SettlementOverrides, UptoActualAmount,
22 marshal_settlement_overrides, resolve_response_settlement_amount, set_settlement_overrides,
23 set_settlement_overrides_on_response, settlement_overrides_header_name,
24 strip_response_settlement_overrides, take_settlement_overrides_header,
25};
26pub use pricing::{DynamicPriceTags, PriceTagSource, StaticPriceTags};
27#[cfg(feature = "siwx")]
28pub use r402_extensions::siwx::{
29 InMemoryPaidAddressStore, PaidAddressStore, SIWX_HTTP_HEADER, SIWX_KEY, SiwxChain,
30 SiwxClientExtension, SiwxError, SiwxOrigin, SiwxOriginError, SiwxProof, SiwxProofError,
31 SiwxSigner,
32};
33pub use r402_facilitator::{Facilitator, FacilitatorClient, FacilitatorClientError};
34pub use r402_server::{
35 BackgroundSettlementTracker, ResourceServer, SchemeNetworkServer, SettlementMode,
36 SkipHandlerDirective,
37};
38pub use receipt::settlement_to_header;
39#[cfg(feature = "siwx")]
40pub use siwx::SiwxGate;
41
42pub use crate::headers::{
43 PAYMENT_REQUIRED, PAYMENT_RESPONSE, PAYMENT_SIGNATURE, SIGN_IN_WITH_X, X402_EXPOSED_HEADERS,
44 ensure_expose_headers, merge_private, set_no_store,
45};