Skip to main content

Crate bluenote

Crate bluenote 

Source
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;

Modules§

decoder
http
ini
url
utils