Skip to main content

jmap_base_client/
lib.rs

1//! RFC 8620 base JMAP client: auth, session fetch, blob, SSE, and WebSocket.
2//!
3//! Extension-specific clients (`jmap-chat-client`, `jmap-mail-client`) depend on this crate.
4
5#![forbid(unsafe_code)]
6
7pub mod auth;
8pub mod blob;
9pub mod client;
10pub mod error;
11pub mod push;
12pub mod request;
13pub mod sse;
14pub mod ws;
15
16pub use auth::{
17    AuthProvider, BasicAuth, BearerAuth, CustomCaTransport, DefaultTransport, NoneAuth,
18    TransportConfig,
19};
20pub use blob::{expand_url_template, BlobUploadResponse, DownloadBlobParams};
21pub use client::{extract_response, ClientConfig, JmapClient};
22pub use error::ClientError;
23pub use push::StateChange;
24pub use request::{AccountInfo, JmapRequestBuilder, Session, WebSocketCapability};
25pub use sse::{parse_sse_block, SseEvent, SseFrame};
26pub use ws::{connect_ws, WsFrame, WsSession};