[package]
name = "azure_core"
version = "0.30.1"
description = "Rust wrappers around Microsoft Azure REST APIs - Core crate"
readme = "README.md"
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage = "https://github.com/azure/azure-sdk-for-rust"
documentation = "https://docs.rs/azure_core"
keywords = ["sdk", "azure", "rest", "iot", "cloud"]
categories = ["api-bindings"]
edition.workspace = true
rust-version.workspace = true
[dependencies]
async-lock.workspace = true
async-trait.workspace = true
azure_core_macros.workspace = true
bytes.workspace = true
futures.workspace = true
hmac = { workspace = true, optional = true }
openssl = { workspace = true, optional = true }
pin-project.workspace = true
serde.workspace = true
serde_json.workspace = true
sha2 = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
tracing.workspace = true
typespec = { workspace = true, features = ["http", "json"] }
typespec_client_core = { workspace = true, default-features = false, features = [
"derive",
"http",
"json",
] }
[build-dependencies]
rustc_version.workspace = true
[dev-dependencies]
azure_core_macros.path = "../azure_core_macros"
azure_core_test.workspace = true
azure_identity.workspace = true
azure_security_keyvault_certificates.path = "../../keyvault/azure_security_keyvault_certificates"
azure_security_keyvault_secrets.path = "../../keyvault/azure_security_keyvault_secrets"
criterion.workspace = true
http = "1.3.1"
json-patch = "4.1.0"
reqwest.workspace = true
thiserror.workspace = true
tokio.workspace = true
tracing-subscriber.workspace = true
ureq = { version = "3", default-features = false, features = [
"gzip",
"native-tls",
] }
[features]
default = [
"reqwest",
"reqwest_deflate",
"reqwest_gzip",
"reqwest_native_tls",
]
debug = ["typespec_client_core/debug"]
decimal = ["typespec_client_core/decimal"]
hmac_openssl = ["dep:openssl"]
hmac_rust = ["dep:sha2", "dep:hmac"]
reqwest = ["typespec_client_core/reqwest"]
reqwest_deflate = ["reqwest", "typespec_client_core/reqwest_deflate"]
reqwest_gzip = ["reqwest", "typespec_client_core/reqwest_gzip"]
reqwest_native_tls = ["reqwest", "typespec_client_core/reqwest_native_tls"]
test = ["typespec_client_core/test"]
tokio = ["dep:tokio", "typespec_client_core/tokio"]
wasm_bindgen = ["typespec_client_core/wasm_bindgen"]
xml = ["typespec_client_core/xml"]
[lints]
workspace = true
[package.metadata.docs.rs]
features = [
"debug",
"decimal",
"hmac_openssl",
"hmac_rust",
"reqwest",
"reqwest_deflate",
"reqwest_gzip",
"reqwest_native_tls",
"tokio",
"wasm_bindgen",
"xml",
]
[[bench]]
name = "benchmarks"
harness = false
[[bench]]
name = "deserialization"
harness = false
required-features = ["xml"]
[[bench]]
name = "http_transport_benchmarks"
harness = false
[[bench]]
name = "perf"
path = "perf/perf.rs"
harness = false