[package]
name = "conduit-proxy"
version = "0.3.0"
authors = ["Oliver Gould <ver@buoyant.io>"]
publish = false

[features]
default = ["flaky_tests"]
# Disable to skip certain tests that should not be run on CI.
flaky_tests = []

[dependencies]
convert                         = { path = "./convert" }
conduit-proxy-controller-grpc   = { path = "./controller-grpc" }
futures-mpsc-lossy              = { path = "./futures-mpsc-lossy" }
conduit-proxy-router            = { path = "./router" }

bytes = "0.4"
deflate = {version = "0.7.18", features = ["gzip"] }
env_logger = { version = "0.5", default-features = false }
futures = "0.1"
futures-watch = { git = "https://github.com/carllerche/better-future.git" }
h2 = "0.1.7"
http = "0.1"
httparse = "1.2"
hyper = { git = "https://github.com/hyperium/hyper" }
ipnet = "1.0"
log = "0.4.1"
indexmap = "1.0.0"
rand = "0.4"

# for config parsing
regex = "1.0.0"

tokio = "0.1.6"
tokio-signal = "0.2"

prost = "0.3.0"
prost-types = "0.3.0"

trust-dns-resolver = { default-features = false, git = "https://github.com/bluejekyll/trust-dns", branch = "master" }

#futures-watch   = { git = "https://github.com/carllerche/better-future" }

tokio-connect         = { git = "https://github.com/carllerche/tokio-connect" }
tower-service         = { git = "https://github.com/tower-rs/tower" }
tower-balance         = { git = "https://github.com/tower-rs/tower" }
tower-buffer          = { git = "https://github.com/tower-rs/tower" }
tower-discover        = { git = "https://github.com/tower-rs/tower" }
tower-grpc            = { git = "https://github.com/tower-rs/tower-grpc" }
tower-h2              = { git = "https://github.com/tower-rs/tower-h2" }
tower-reconnect       = { git = "https://github.com/tower-rs/tower" }
tower-in-flight-limit = { git = "https://github.com/tower-rs/tower" }
tower-util            = { git = "https://github.com/tower-rs/tower" }

[target.'cfg(target_os = "linux")'.dependencies]
libc = "0.2"

[dev-dependencies]
net2 = "0.2"
quickcheck = { version = "0.6", default-features = false }
conduit-proxy-controller-grpc = { path = "./controller-grpc" , features = ["arbitrary"] }
flate2 = { version = "1.0.1", default-features = false, features = ["rust_backend"] }
# `tokio-io` is needed for TCP tests, because `tokio::io` doesn't re-export
# the `read` function.
tokio-io = "0.1.6"
