diff options
Diffstat (limited to 'rust/fatcat-openapi/Cargo.toml')
-rw-r--r-- | rust/fatcat-openapi/Cargo.toml | 86 |
1 files changed, 57 insertions, 29 deletions
diff --git a/rust/fatcat-openapi/Cargo.toml b/rust/fatcat-openapi/Cargo.toml index 3f25b4c3..b6513a4a 100644 --- a/rust/fatcat-openapi/Cargo.toml +++ b/rust/fatcat-openapi/Cargo.toml @@ -9,41 +9,69 @@ repository = "https://github.com/internetarchive/fatcat" license = "CC0-1.0" [features] -# Need to disable all openssl due to Xenial/Bionic dependency friction. Easiest -# way seems to be entirely disabling 'client' option, and removing -# 'hyper-openssl' below (which should be optional) -#client = ["serde_json", "serde_ignored", "hyper", "hyper-openssl", "uuid"] -default = ["server"] -server = ["serde_json", "serde_ignored", "hyper", "iron", "router", "bodyparser", "urlencoded", "uuid"] +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] -# Required by example server. -# +# Common chrono = { version = "0.4", features = ["serde"] } futures = "0.1" -hyper = {version = "0.10", optional = true} -#hyper-openssl = {version = "0.2", optional = true } -iron = {version = "0.6", optional = true} -swagger = "0.7" - -# Not required by example server. -# -bodyparser = {version = "0.8", optional = true} -url = "1.5" -lazy_static = "0.2" -log = "0.3.0" -multipart = {version = "0.13", optional = true} -router = {version = "0.6", optional = true} -serde = "1.0" -serde_derive = "1.0" +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} -serde_json = {version = "1.0", optional = true} -urlencoded = {version = "0.6", optional = true} -uuid = {version = "0.5", optional = true, features = ["serde", "v4"]} -# ToDo: this should be updated to point at the official crate once -# https://github.com/RReverser/serde-xml-rs/pull/45 is accepted upstream +url = {version = "1.5", optional = true} +# Client-specific + +# 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.11" +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"] |