[package] name = "remote_config" version = "0.2.0" edition = "2021" repository = "https://github.com/CaptainDno/remote-config" readme = "README.md" license-file = "LICENCE" authors = ["Remote Config developers"] categories = ["asynchronous", "config", "caching"] keywords = ["async", "config", "cached", "remote"] description = """ Flexible crate for asynchronously loading configuration from remote source with caching and automatic revalidation. """ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] tracing = {version = "0.1.40", optional = true} arc-swap = "1.7.1" tokio = {version = "1.38.0", features = ["sync", "rt"]} # http reqwest = {version = "0.12.5", optional = true} cache_control = {version = "0.2.0", optional = true} # Deserialization serde = {version = "1.0.203", optional = true} serde_json = {version = "1.0.117", optional = true} toml = {version = "0.8.14", optional = true} serde_yaml = {version = "0.9.34", optional = true} serde-xml-rs = {version = "0.6.0", optional = true} [dev-dependencies] mockito = {version = "1.4.0"} tokio = {version = "1.38.0", features = ["sync", "macros", "rt"]} serde = {version = "1.0.203", features = ["derive"]} [features] default = ["http", "serde", "json"] # Enable http client http = ["dep:reqwest", "dep:cache_control"] # Enable serde data extractor serde = ["http", "dep:serde"] # Enable JSON deserialization json = ["serde", "dep:serde_json"] # Enable TOML deserialization toml = ["serde", "dep:toml"] # Enable yaml deserialization yaml = ["serde", "dep:serde_yaml"] # Enable xml deserialization xml = ["serde", "dep:serde-xml-rs"] # Enable tracing tracing = ["dep:tracing"] # Enable non_static implementation for RemoteConfig wrapped in Arc non_static = [] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]