Expand description
Ribbit protocol client for Cascette
This crate provides an async TCP client for Blizzard’s Ribbit protocol, which is used to retrieve version information, CDN configurations, and other metadata for Blizzard games.
§Example
use ribbit_client::{RibbitClient, Region, Endpoint};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create a client for the US region
let client = RibbitClient::new(Region::US);
// Request WoW version information
let endpoint = Endpoint::ProductVersions("wow".to_string());
let response = client.request(&endpoint).await?;
Ok(())
}
Re-exports§
pub use client::Response;
pub use client::RibbitClient;
pub use error::Error;
pub use error::Result;
pub use response_types::BgdlEntry;
pub use response_types::CdnEntry;
pub use response_types::ProductBgdlResponse;
pub use response_types::ProductCdnsResponse;
pub use response_types::ProductSummary;
pub use response_types::ProductVersionsResponse;
pub use response_types::SummaryResponse;
pub use response_types::TypedResponse;
pub use response_types::VersionEntry;
pub use types::Endpoint;
pub use types::ProtocolVersion;
pub use types::Region;
Modules§
- certificate_
fetcher - Certificate fetcher for retrieving signer certificates by SKI
- client
- Ribbit TCP client implementation
- cms_
parser - CMS/PKCS#7 parser for extracting signer certificates and public keys
- dns_
cache - DNS caching for Ribbit client connections
- error
- Error types for the Ribbit client
- response_
types - Strongly-typed response definitions for all Ribbit endpoints
- signature
- ASN.1 signature parsing for Ribbit V1 responses
- signature_
verify - Enhanced signature verification for Ribbit V1 responses
- types
- Type definitions for the Ribbit client