cratestack_client_rust/
lib.rs1mod auth;
2mod client;
3mod codec;
4mod config;
5#[cfg(feature = "cose")]
6mod envelope;
7mod envelope_error;
8mod error;
9mod idempotency;
10#[cfg(feature = "middleware")]
11mod middleware;
12mod remote_refusal;
13mod rpc;
14mod runtime;
15mod state;
16mod step_up;
17mod streaming;
18mod streaming_callback;
19mod subscription;
20mod task;
21
22#[cfg(test)]
23mod tests;
24
25pub use cratestack_codec_cbor::CborCodec;
26#[cfg(feature = "codec-json")]
27pub use cratestack_codec_json::JsonCodec;
28pub use cratestack_core::rpc::{
29 RPC_BATCH_PATH, RPC_UNARY_PATH, RpcErrorBody, RpcRequest, RpcResponseFrame, RpcSubscribeInput,
30 rpc_code,
31};
32
33pub use auth::{AuthorizationRequest, RequestAuthorizer};
34pub use client::{
35 CratestackClient, PreparedCall, RouteRef, TypedResponse, encode_path_segment,
36 ensure_crypto_provider,
37};
38pub use codec::HttpClientCodec;
39pub use config::ClientConfig;
40#[cfg(all(feature = "webtransport", not(target_arch = "wasm32")))]
41pub use config::WebTransportEndpoint;
42pub use cratestack_core::ProjectionDecoder;
43#[deprecated(
47 since = "0.4.0",
48 note = "use `cratestack::ProjectionDecoder` (moved to cratestack-core) instead"
49)]
50pub use cratestack_core::ProjectionDecoder as Projection;
51#[cfg(feature = "cose")]
52pub use cratestack_cose as cose;
53#[cfg(all(feature = "webtransport", not(target_arch = "wasm32")))]
56pub use cratestack_webtransport::ServerTrust;
57#[cfg(feature = "cose")]
58pub use envelope::{ClientEnvelope, OpenedResponse, PendingResponse, SealCall, SealedCall};
59pub use envelope_error::EnvelopeError;
60pub use error::{ClientError, HeaderPair, QueryPair};
61pub use idempotency::RequestIdempotency;
62#[cfg(feature = "middleware")]
63pub use middleware::MiddlewareError;
64pub use remote_refusal::Challenges;
65pub use rpc::batch::{BatchBuilder, BatchResults};
66pub use rpc::batch_call::{BatchHandle, BatchableCall};
67pub use rpc::client::RpcClient;
68pub use rpc::error::{RpcClientError, RpcRemoteError, RpcStream};
69#[cfg(not(target_arch = "wasm32"))]
70pub use runtime::handle::RuntimeHandle;
71pub use runtime::wire::{
72 RuntimeCodecConfig, RuntimeConfigWire, RuntimeEnvelopeConfig, RuntimeErrorCode,
73 RuntimeErrorWire, RuntimeHeader, RuntimeRequestWire, RuntimeResponseWire,
74 RuntimeStateStoreConfig, RuntimeTransportConfig,
75};
76pub use state::{
77 ClientStateStore, InMemoryStateStore, JsonFileStateStore, PersistedClientState,
78 RequestJournalEntry,
79};
80pub use step_up::{
81 INSUFFICIENT_USER_AUTHENTICATION, StepUpError, StepUpRequired, retry_after_step_up,
82};
83pub use streaming::CborSeqChunkDecoder;
84pub use streaming_callback::RuntimeChunkWire;
85pub use subscription::{
86 ClientSubscription, SubscriptionTarget, SubscriptionTransport, rpc_error_to_client,
87};