Expand description
liburlx — A memory-safe URL transfer library.
This is an idiomatic Rust reimplementation of libcurl, providing both
blocking (Easy) and async (Multi) APIs for URL transfers.
§Quick Start
The library is currently in early development. The Easy API for
simple transfers is coming in Phase 1.
Re-exports§
pub use auth::AuthCredentials;pub use auth::AuthMethod;pub use auth::ProxyAuthCredentials;pub use auth::ProxyAuthMethod;pub use cookie::CookieJar;pub use dns::DnsCache;pub use dns::DnsResolver;pub use easy::Easy;pub use easy::HttpVersion;pub use error::Error;pub use hsts::HstsCache;pub use multi::Multi;pub use multi::PipeliningMode;pub use progress::make_progress_callback;pub use progress::ProgressCallback;pub use progress::ProgressInfo;pub use protocol::http::multipart::MultipartForm;pub use protocol::http::response::PushedResponse;pub use protocol::http::response::Response;pub use protocol::http::response::TransferInfo;pub use throttle::SpeedLimits;pub use tls::TlsConfig;pub use tls::TlsVersion;pub use url::Url;
Modules§
- auth
- HTTP authentication mechanisms.
- cookie
- Cookie jar engine.
- dns
- DNS resolution and caching.
- easy
- Single-transfer blocking API.
- error
- Error types for liburlx.
- glob
- URL globbing — pattern expansion for URL templates.
- hsts
- HTTP Strict Transport Security (HSTS) enforcement.
- multi
- Concurrent transfer API.
- netrc
.netrcfile parsing for credential lookup.- progress
- Progress reporting for transfers.
- protocol
- Protocol handler definitions.
- proxy
- Proxy protocol implementations.
- share
- Shared state for cross-handle data sharing.
- throttle
- Transfer speed throttling and enforcement.
- tls
- TLS connector using rustls.
- url
- URL parsing with curl compatibility quirks.
Type Aliases§
- Result
- Convenience result type for liburlx operations.