aboutsummaryrefslogtreecommitdiffstats
path: root/rust/fatcat-openapi/Cargo.toml
diff options
context:
space:
mode:
Diffstat (limited to 'rust/fatcat-openapi/Cargo.toml')
-rw-r--r--rust/fatcat-openapi/Cargo.toml86
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"]