Expand description
§HTTP Profiles Client Library
A flexible HTTP client library with profile-based configuration support. This library provides a clean interface for making HTTP requests with configuration profiles that can be stored in INI files.
§Features
- Profile-based configuration: Store connection settings, headers, and authentication in profiles
- Multiple authentication methods: Basic auth, custom headers, certificate-based auth
- Response decoding: Automatic decompression and encoding detection
- Proxy support: HTTP and HTTPS proxy configuration
- TLS configuration: Custom CA certificates and insecure mode support
- Request/Response traits: Clean abstractions for building HTTP clients
§Example
use bluenote::{HttpClient, IniProfile, IniProfileStore};
// Load a profile from an INI file
let store = IniProfileStore::new("profiles.ini");
let profile = store.get_profile("api")?.unwrap();
// Create HTTP client with the profile
let client = HttpClient::new(&profile)?;
// Make a request (requires implementing HttpRequestArgs trait)
// let response = client.request(&request_args).await?;Re-exports§
pub use http::HttpClient;pub use http::HttpConnectionProfile;pub use http::HttpRequestArgs;pub use http::HttpResponse;pub use ini::IniProfile;pub use ini::IniProfileStore;pub use ini::get_blank_profile;pub use ini::DEFAULT_INI_FILE_PATH;pub use url::Url;pub use url::UrlPath;pub use url::Endpoint;pub use utils::Result;