[package] name = "i2cbus-api" version = "0.1.9" authors = ["Piers Finlayson "] edition = "2018" license = "GPL-3.0-or-later" repository = "https://github.com/packom/i2cbus-api" documentation = "https://github.com/packom/i2cbus-api" homepage = "https://github.com/packom/i2cbus-api" description = "HTTP RESTful API and skeleton server/client implement for I2C bus control" readme = "README.md" keywords = ["i2c","bus","openapi","swagger","http"] categories = ["api-bindings","hardware-support","network-programming","embedded","web-programming"] [features] default = ["client", "server"] client = [ "hyper", "hyper-openssl", "native-tls", "openssl", "url" ] server = [ "serde_ignored", "hyper", "regex", "percent-encoding", "url", "lazy_static" ] conversion = ["frunk", "frunk_derives", "frunk_core", "frunk-enum-core", "frunk-enum-derive"] [target.'cfg(any(target_os = "macos", target_os = "windows", target_os = "ios"))'.dependencies] native-tls = { version = "0.2", optional = true } [target.'cfg(not(any(target_os = "macos", target_os = "windows", target_os = "ios")))'.dependencies] hyper-openssl = { version = "0.7.1", optional = true } openssl = {version = "0.10", optional = true } [dependencies] # Common chrono = { version = "0.4", features = ["serde"] } futures = "0.1" swagger = "4.0" log = "0.4.0" mime = "0.3" serde = { version = "1.0", features = ["derive"]} serde_json = "1.0" # Crates included if required by the API definition # Common between server and client features hyper = {version = "0.12", optional = true} serde_ignored = {version = "0.0.4", optional = true} url = {version = "1.5", optional = true} # Client-specific tokio-core = "0.1.17" # Server, and client callback-specific lazy_static = { version = "1.4", optional = true } percent-encoding = {version = "1.0.0", optional = true} regex = {version = "0.2", optional = true} # Conversion frunk = { version = "0.3.0", optional = true } frunk_derives = { version = "0.3.0", optional = true } frunk_core = { version = "0.3.0", optional = true } frunk-enum-derive = { version = "0.2.0", optional = true } frunk-enum-core = { version = "0.2.0", optional = true } [dev-dependencies] clap = "2.25" error-chain = "0.12" env_logger = "0.6" tokio = "0.1.17" uuid = {version = "0.7", features = ["serde", "v4"]} [target.'cfg(not(any(target_os = "macos", target_os = "windows", target_os = "ios")))'.dev-dependencies] tokio-openssl = "0.3" openssl = "0.10" [[example]] name = "client" required-features = ["client"] [[example]] name = "server" required-features = ["server"]