[package]
edition = "2024"
rust-version = "1.94"
name = "redfish"
version = "0.3.2"
build = false
include = [
"Cargo.toml",
"README.md",
"LICENSE",
"CHANGELOG.md",
"src/**",
"examples/**",
"tests/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Production-grade Rust SDK for DMTF Redfish (async-first, optional blocking)."
homepage = "https://github.com/lvillis/redfish-rs"
documentation = "https://docs.rs/redfish"
readme = "README.md"
keywords = [
"redfish",
"bmc",
"ipmi",
"oem",
"dmtf",
]
categories = [
"api-bindings",
"network-programming",
]
license = "MIT"
repository = "https://github.com/lvillis/redfish-rs"
[package.metadata.docs.rs]
no-default-features = true
features = [
"async-tls-rustls-ring",
"blocking-tls-rustls-ring",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.release]
tag-prefix = ""
tag-name = "{{prefix}}{{version}}"
pre-release-commit-message = "chore: release {{crate_name}} version {{version}}"
tag-message = "chore: release {{crate_name}} version {{version}}"
pre-release-hook = [
"git",
"cliff",
"-o",
"CHANGELOG.md",
"--tag",
"{{version}}",
]
[features]
_async = []
_blocking = []
async-tls-native = [
"_async",
"dep:reqx",
"dep:tokio",
"reqx?/async-tls-native",
]
async-tls-rustls-aws-lc-rs = [
"_async",
"dep:reqx",
"dep:tokio",
"reqx?/async-tls-rustls-aws-lc-rs",
]
async-tls-rustls-ring = [
"_async",
"dep:reqx",
"dep:tokio",
"reqx?/async-tls-rustls-ring",
]
blocking-tls-native = [
"_blocking",
"dep:reqx",
"reqx?/blocking-tls-native",
]
blocking-tls-rustls-aws-lc-rs = [
"_blocking",
"dep:reqx",
"reqx?/blocking-tls-rustls-aws-lc-rs",
]
blocking-tls-rustls-ring = [
"_blocking",
"dep:reqx",
"reqx?/blocking-tls-rustls-ring",
]
default = ["async-tls-rustls-ring"]
tracing = ["dep:tracing"]
[lib]
name = "redfish"
path = "src/lib.rs"
[[example]]
name = "async_account_list"
path = "examples/async_account_list.rs"
required-features = ["_async"]
[[example]]
name = "async_service_root"
path = "examples/async_service_root.rs"
required-features = ["_async"]
[[example]]
name = "async_simple_update"
path = "examples/async_simple_update.rs"
required-features = ["_async"]
[[example]]
name = "blocking_account_list"
path = "examples/blocking_account_list.rs"
required-features = ["_blocking"]
[[example]]
name = "blocking_service_root"
path = "examples/blocking_service_root.rs"
required-features = ["_blocking"]
[[example]]
name = "blocking_simple_update"
path = "examples/blocking_simple_update.rs"
required-features = ["_blocking"]
[[test]]
name = "async_basic"
path = "tests/async_basic.rs"
[[test]]
name = "blocking_basic"
path = "tests/blocking_basic.rs"
[[test]]
name = "odata_query"
path = "tests/odata_query.rs"
[[test]]
name = "platform_services_async"
path = "tests/platform_services_async.rs"
[[test]]
name = "platform_services_blocking"
path = "tests/platform_services_blocking.rs"
[[test]]
name = "request_json_value"
path = "tests/request_json_value.rs"
[dependencies.base64]
version = "0.22.1"
features = ["std"]
default-features = false
[dependencies.fastrand]
version = "2.4.1"
features = ["std"]
default-features = false
[dependencies.http]
version = "1.4.0"
features = ["std"]
default-features = false
[dependencies.httpdate]
version = "1.0.3"
default-features = false
[dependencies.reqx]
version = "0.1.34"
optional = true
default-features = false
[dependencies.secrecy]
version = "0.10.3"
default-features = false
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
default-features = false
[dependencies.serde_json]
version = "1.0.149"
features = ["std"]
default-features = false
[dependencies.serde_path_to_error]
version = "0.1.20"
default-features = false
[dependencies.tokio]
version = "1.51.1"
features = [
"rt",
"time",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1.44"
optional = true
default-features = false
[dependencies.url]
version = "2.5.8"
features = ["std"]
default-features = false
[dev-dependencies.serde_json]
version = "1.0.149"
features = ["std"]
default-features = false
[dev-dependencies.tokio]
version = "1.51.1"
features = [
"rt-multi-thread",
"macros",
"time",
]
default-features = false
[dev-dependencies.wiremock]
version = "0.6.5"
default-features = false