[package] name = "httpmock" version = "0.8.0-alpha.1" authors = ["Alexander Liesenfeld "] edition = "2018" description = "HTTP mocking library for Rust" readme = "README.md" keywords = ["http", "mock", "test"] categories = ["development-tools::testing"] license = "MIT" repository = "https://github.com/alexliesenfeld/httpmock" [dependencies] serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_regex = "1.1" lazy_static = "1.4" base64 = "0.22" regex = "1.10" log = "0.4" url = "2.5" stringmetrics = "2" assert-json-diff = "2.0" async-trait = "0.1" async-object-pool = "0.1" crossbeam-utils = "0.8" futures-util = "0.3" similar = "2.6" form_urlencoded = "1.2" thiserror = "1.0" path-tree = "0.8" http = "1" bytes = { version = "1", features = ["serde"] } hyper = { version = "1.4", features = ["server", "http1", "client"] } hyper-util = { version = "0.1", features = ["tokio", "server", "http1", "server-auto"] } http-body-util = "0.1" tokio = { version = "1.36", features = ["sync", "macros", "rt-multi-thread", "signal"] } tabwriter = "1.4" colored = { version = "2.1", optional = true } clap = { version = "4.5", features = ["derive", "env"], optional = true } env_logger = { version = "0.11", optional = true } serde_yaml = { version = "0.9", optional = true } async-std = { version = "1.12", features = ["attributes", "unstable"] } headers = { version = "0.4", optional = true } ### TLS / HTTPS / PROXY rustls = { version = "0.23", default-features = false, features = ["std", "tls12"], optional = true } rcgen = { version = "0.12", features = ["pem", "x509-parser"], optional = true } tokio-rustls = { version = "0.26", optional = true } rustls-pemfile = { version = "2", optional = true } tls-detect = { version = "0.1", optional = true } hyper-rustls = { version = "0.27", optional = true } futures-timer = "3" [dev-dependencies] env_logger = "0.11" tokio-test = "0.4" quote = "1.0" actix-rt = "2.9" colored = "2.1" reqwest = { version = "0.12", features = ["blocking", "cookies", "rustls-tls", "rustls-tls-native-roots"] } syn = { version = "2.0", features = ["full"] } urlencoding = "2.1.2" [features] default = ["cookies"] standalone = ["clap", "env_logger", "record", "http2", "cookies", "remote", "remote-https"] # enables standalone mode color = ["colored"] # enables colorful output in standalone mode cookies = ["headers"] # enables support for matching cookies remote = ["hyper-util/client-legacy", "hyper-util/http2"] # allows to connect to remote mock servers remote-https = ["remote", "rustls", "hyper-rustls", "hyper-rustls/http2"] # allows to connect to remote mock servers via HTTPS proxy = ["remote-https", "hyper-util/client-legacy", "hyper-util/http2", "hyper-rustls", "hyper-rustls/http2"] # enables proxy functionality https = ["rustls", "rcgen", "tokio-rustls", "rustls-pemfile", "rustls/ring", "tls-detect"] # enables httpmock server support for TLS/HTTPS http2 = ["hyper/http2", "hyper-util/http2"] # enables httpmocks server support for HTTP2 record = ["proxy", "serde_yaml"] experimental = [] # marker feature for experimental features [[bin]] name = "httpmock" required-features = ["standalone"] [package.metadata.docs.rs] all-features = true