[package]
name = "fantoccini"
version = "0.21.0"
edition = "2021"

description = "High-level API for programmatically interacting with web pages through WebDriver."
readme = "README.md"

authors = ["Jon Gjengset <jon@thesquareplanet.com>"]

documentation = "https://docs.rs/fantoccini"
homepage = "https://github.com/jonhoo/fantoccini"
repository = "https://github.com/jonhoo/fantoccini.git"

keywords = ["webdriver", "chromedriver", "geckodriver", "phantomjs", "automation"]
categories = ["api-bindings", "development-tools::testing", "web-programming::http-client"]

license = "MIT OR Apache-2.0"

[features]
default = ["native-tls"]
native-tls = ["hyper-tls", "openssl"]
rustls-tls = ["hyper-rustls"]

[dependencies]
webdriver = { version = "0.50", default-features = false }
url = "2.2.2"
serde = { version = "1.0.103", features = ["derive"] }
serde_json = "1.0.50"
futures-core = "0.3"
futures-util = "0.3"
tokio = { version = "1", features = ["sync", "rt", "time"] }
hyper = { version = "1.1.0", features = ["client", "http1"] }
hyper-util = { version = "0.1.3", features = ["client", "http1", "client-legacy", "tokio"] }
http-body-util = { version = "0.1.0" }
cookie = { version = "0.18.0", features = ["percent-encode"] }
base64 = "0.22"
hyper-rustls = { version = "0.27.0", optional = true }
hyper-tls = { version = "0.6.0", optional = true }
mime = "0.3.9"
http = "1.0.0"
time = "0.3"

[dev-dependencies]
tokio = { version = "1", features = ["full"] }
hyper = { version = "1.1.0", features = ["server"] }
hyper-util = { version = "0.1.3", features = ["server", "http1"] }
serial_test = "3.0"

# for minimal-versions
[target.'cfg(any())'.dependencies]
openssl = { version = "0.10.60", optional = true } # through native-tls, <.35 no longer builds
openssl-macros = { version = "0.1.1", optional = true }

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
