[package]
name = "api_bindium"
version = "0.3.0"
edition = "2024"
rust-version = "1.85.0"
authors = ["RustyNova"]
description = "Framework for api binding crates"
keywords = ["api_bindings", "foundation", "framework"]
license = "MIT OR AGPL-3.0-or-later"
repository = "https://github.com/RustyNova016/api_bindium"
[dependencies]
ureq = { version = "3.1.0", default-features = false, features = ["json", "gzip"] }
governor = { version = "0.10.0", optional = true }
serde_core = { version = "1.0.220" }
serde_json = { version = "1.0.0" }
image = { version = "0.25.0", optional = true }
blocking = { version = "1.6.0", optional = true }
async-io = { version = "2.6.0", optional = true }
tracing = { version = "0.1.0", optional = true }
hotpath = { version = "0.9.0", optional = true }
bon = "3.8.0"
snafu = "0.8.0"
url-escape = "0.1.1"
[dev-dependencies]
serde = { version = "1.0.228", features = ["derive"] }
macro_rules_attribute = "0.2.2"
smol-macros = "0.1.1"
[features]
default = ["rustls", "sync"]
sync = []
async = ["dep:blocking", "dep:async-io"]
native_tls = ["ureq/native-tls"]
rustls = ["ureq/rustls"]
rate_limit = ["dep:governor", "async"]
cookies = ["ureq/cookies"]
image = ["dep:image"]
backtrace = []
tracing = ["dep:tracing"]
hotpath = ["dep:hotpath", "hotpath/hotpath"]
hotpath-alloc = ["hotpath/hotpath-alloc"]
hotpath-off = ["hotpath/hotpath-off"]
[package.metadata.docs.rs]
all-features = true
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
[[example]]
required-features = ["sync"]
doc-scrape-examples = true
name = "get_request"
path = "examples/get_request.rs"
[[example]]
required-features = ["sync"]
doc-scrape-examples = true
name = "headers"
path = "examples/headers.rs"
[[example]]
required-features = ["sync"]
doc-scrape-examples = true
name = "post_request"
path = "examples/post_request.rs"