1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! # 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
//!
//! ```rust,no_run
//! use bluenote::{HttpClient, IniProfile, IniProfileStore};
//!
//! # #[tokio::main]
//! # async fn main() -> Result<(), Box<dyn std::error::Error>> {
//! // 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?;
//! # Ok(())
//! # }
//! ```
// Re-export commonly used types
pub use ;
pub use ;
pub use ;
pub use Result;