[package]
edition = "2021"
rust-version = "1.88.0"
name = "httpmock"
version = "0.8.3"
authors = ["Alexander Liesenfeld <alexander.liesenfeld@outlook.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HTTP mocking library for Rust"
readme = "README.md"
keywords = [
"http",
"mock",
"test",
]
categories = ["development-tools::testing"]
license = "MIT"
repository = "https://github.com/httpmock/httpmock"
[package.metadata.docs.rs]
all-features = true
[features]
color = ["colored"]
cookies = ["headers"]
default = ["cookies"]
experimental = []
http2 = [
"hyper/http2",
"hyper-util/http2",
]
https = [
"rustls",
"rcgen",
"tokio-rustls",
"hyper-rustls",
"rustls-pki-types",
"rustls/ring",
"tls-detect",
"if-addrs",
]
proxy = [
"remote-https",
"hyper-util/client-legacy",
"hyper-util/http2",
"hyper-rustls",
"hyper-rustls/http2",
]
record = [
"proxy",
"serde_yaml",
]
remote = [
"hyper-util/client-legacy",
"hyper-util/http2",
]
remote-https = [
"remote",
"rustls",
"rustls/ring",
"hyper-rustls",
"hyper-rustls/ring",
"hyper-rustls/http2",
]
standalone = [
"clap",
"tracing-subscriber",
"record",
"http2",
"cookies",
"remote",
"remote-https",
]
[lib]
name = "httpmock"
path = "src/lib.rs"
[[bin]]
name = "httpmock"
path = "src/main.rs"
required-features = ["standalone"]
[[test]]
name = "lib"
path = "tests/lib.rs"
[dependencies.assert-json-diff]
version = "2"
[dependencies.async-object-pool]
version = "0.2"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1"
features = ["serde"]
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
optional = true
[dependencies.colored]
version = "3"
optional = true
[dependencies.crossbeam-utils]
version = "0.8"
[dependencies.form_urlencoded]
version = "1"
[dependencies.futures-timer]
version = "3"
[dependencies.futures-util]
version = "0.3"
[dependencies.headers]
version = "0.4"
optional = true
[dependencies.http]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1"
features = [
"server",
"http1",
"client",
]
[dependencies.hyper-rustls]
version = "0.27"
features = [
"http1",
"logging",
"tls12",
"native-tokio",
]
optional = true
default-features = false
[dependencies.hyper-util]
version = "0.1"
features = [
"tokio",
"server",
"http1",
"server-auto",
]
[dependencies.if-addrs]
version = "0.13"
optional = true
[dependencies.path-tree]
version = ">=0.8.0, <0.8.4"
[dependencies.rcgen]
version = "0.13"
features = [
"pem",
"x509-parser",
]
optional = true
[dependencies.regex]
version = "1"
[dependencies.rustls]
version = "0.23"
features = [
"std",
"tls12",
]
optional = true
default-features = false
[dependencies.rustls-pki-types]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_regex]
version = "1"
[dependencies.serde_yaml]
version = "0.9"
optional = true
[dependencies.similar]
version = "2"
[dependencies.stringmetrics]
version = "2"
[dependencies.tabwriter]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tls-detect]
version = "0.1"
optional = true
[dependencies.tokio]
version = "1.43"
features = [
"sync",
"macros",
"rt-multi-thread",
"signal",
"net",
]
[dependencies.tokio-rustls]
version = "0.26"
features = [
"logging",
"tls12",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
features = ["log"]
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.url]
version = "2"
[dev-dependencies.actix-rt]
version = "2"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"cookies",
"rustls-tls-native-roots",
]
default-features = false
[dev-dependencies.smol]
version = "2"
[dev-dependencies.syn]
version = "2"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dev-dependencies.urlencoding]
version = "2"