[package]
edition = "2024"
name = "pact_mock_server"
version = "2.2.2"
authors = ["Ronald Holshausen <ronald.holshausen@gmail.com>"]
build = false
exclude = ["*.iml"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pact-Rust support library that implements in process mock server"
homepage = "https://www.pact.io"
readme = "README.md"
keywords = [
"testing",
"pact",
"cdc",
"mockserver",
]
license = "MIT"
repository = "https://github.com/pact-foundation/pact-core-mock-server/tree/main/pact_mock_server"
resolver = "2"
[features]
datetime = [
"pact_models/datetime",
"pact-plugin-driver?/datetime",
"pact_matching/datetime",
]
default = [
"datetime",
"xml",
"plugins",
"multipart",
"tls",
"form_urlencoded",
]
form_urlencoded = [
"pact_models/form_urlencoded",
"pact_matching/form_urlencoded",
]
multipart = ["pact_matching/multipart"]
plugins = [
"dep:pact-plugin-driver",
"pact_matching/plugins",
]
tls = [
"dep:hyper-rustls",
"dep:rustls",
"dep:rustls-pemfile",
"dep:tokio-rustls",
"dep:rcgen",
"dep:rustls-webpki",
]
xml = [
"pact_models/xml",
"pact-plugin-driver?/xml",
"pact_matching/xml",
]
[lib]
name = "pact_mock_server"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1.0.100"
[dependencies.bytes]
version = "1.11.0"
[dependencies.futures]
version = "0.3.31"
[dependencies.http-body-util]
version = "0.1.3"
[dependencies.hyper]
version = "1.8.1"
features = ["full"]
[dependencies.hyper-rustls]
version = "0.27.7"
features = [
"http1",
"http2",
"ring",
"webpki-tokio",
"tls12",
"logging",
]
optional = true
default-features = false
[dependencies.hyper-util]
version = "0.1.19"
features = ["full"]
[dependencies.itertools]
version = "0.14.0"
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.maplit]
version = "1.0.2"
[dependencies.pact-plugin-driver]
version = "~1.0.0-beta.2"
optional = true
default-features = false
[dependencies.pact_matching]
version = "~2.0.5"
default-features = false
[dependencies.pact_models]
version = "~1.3.10"
default-features = false
[dependencies.rcgen]
version = "0.14.6"
features = [
"pem",
"crypto",
"ring",
]
optional = true
default-features = false
[dependencies.rustls]
version = "0.23.36"
features = ["ring"]
optional = true
default-features = false
[dependencies.rustls-pemfile]
version = "2.2.0"
optional = true
[dependencies.rustls-webpki]
version = "0.103.4"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "1.49.0"
features = ["full"]
[dependencies.tokio-rustls]
version = "0.26.2"
features = ["ring"]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1.44"
[dependencies.url]
version = "2.5.8"
[dependencies.uuid]
version = "1.19.0"
features = ["v4"]
[dev-dependencies.env_logger]
version = "0.11.8"
[dev-dependencies.expectest]
version = "0.12.0"
[dev-dependencies.pretty_assertions]
version = "1.4.1"
[dev-dependencies.reqwest]
version = "0.13.1"
features = [
"blocking",
"json",
"http2",
"rustls",
]
default-features = false
[dev-dependencies.test-log]
version = "0.2.19"
[dev-dependencies.tokio-test]
version = "0.4.5"