[package]
edition = "2024"
name = "pact_matching"
version = "2.0.3"
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 request and response matching logic"
homepage = "https://www.pact.io"
documentation = "https://docs.rs/pact_matching/"
readme = "README.md"
keywords = [
"testing",
"pact",
"cdc",
]
license = "MIT"
repository = "https://github.com/pact-foundation/pact-reference/blob/master/rust/pact_matching"
resolver = "2"
[features]
datetime = [
"pact_models/datetime",
"pact-plugin-driver?/datetime",
"dep:chrono",
]
default = [
"datetime",
"xml",
"plugins",
"multipart",
"form_urlencoded",
]
form_urlencoded = ["pact_models/form_urlencoded"]
multipart = ["dep:multer"]
plugins = ["dep:pact-plugin-driver"]
xml = [
"pact_models/xml",
"pact-plugin-driver?/xml",
"dep:sxd-document",
"dep:kiss_xml",
]
[lib]
name = "pact_matching"
path = "src/lib.rs"
[[test]]
name = "tests"
path = "tests/tests.rs"
[dependencies.ansi_term]
version = "0.12.1"
[dependencies.anyhow]
version = "1.0.99"
[dependencies.base64]
version = "0.22.1"
[dependencies.bytes]
version = "1.10.1"
features = ["serde"]
[dependencies.chrono]
version = "0.4.42"
features = [
"std",
"clock",
]
optional = true
default-features = false
[dependencies.difference]
version = "2.0.0"
[dependencies.futures]
version = "0.3.31"
[dependencies.hex]
version = "0.4.3"
[dependencies.http]
version = "1.3.0"
[dependencies.infer]
version = "0.19.0"
[dependencies.itertools]
version = "0.14.0"
[dependencies.kiss_xml]
version = "1.0.2"
optional = true
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.lenient_semver]
version = "0.4.2"
[dependencies.maplit]
version = "1.0.2"
[dependencies.md5]
version = "0.8.0"
[dependencies.mime]
version = "0.3.17"
[dependencies.multer]
version = "3.1.0"
features = ["all"]
optional = true
[dependencies.nom]
version = "7.1.3"
[dependencies.pact_models]
version = "~1.3.8"
default-features = false
[dependencies.rand]
version = "0.9.2"
[dependencies.regex]
version = "1.11.2"
[dependencies.semver]
version = "1.0.27"
[dependencies.serde]
version = "^1.0"
features = ["derive"]
[dependencies.serde_json]
version = "^1.0"
[dependencies.serde_urlencoded]
version = "0.7.1"
[dependencies.sxd-document]
version = "0.3.2"
optional = true
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-core]
version = "0.1.34"
[dependencies.tree_magic_mini]
version = "3.2.0"
[dependencies.uuid]
version = "1.18.1"
features = ["v4"]
[dev-dependencies.env_logger]
version = "0.11.8"
[dev-dependencies.expectest]
version = "0.12.0"
[dev-dependencies.googletest]
version = "0.14.2"
[dev-dependencies.hamcrest2]
version = "0.3.0"
[dev-dependencies.ntest]
version = "0.9.3"
[dev-dependencies.pretty_assertions]
version = "1.4.1"
[dev-dependencies.quickcheck]
version = "1"
[dev-dependencies.rstest]
version = "0.26.1"
[dev-dependencies.test-log]
version = "0.2.18"
features = ["trace"]
[dev-dependencies.tracing-subscriber]
version = "0.3.20"
features = [
"env-filter",
"tracing-log",
"fmt",
]
[target.'cfg(not(target_family = "wasm"))'.dependencies.onig]
version = "6.5.1"
default-features = false
[target.'cfg(not(target_family = "wasm"))'.dependencies.pact-plugin-driver]
version = "~0.7.5"
optional = true
default-features = false
[target.'cfg(not(target_family = "wasm"))'.dependencies.reqwest]
version = "0.12.23"
features = [
"rustls-tls-native-roots",
"json",
]
default-features = false
[target.'cfg(not(target_family = "wasm"))'.dependencies.tokio]
version = "1.47.1"
features = ["full"]
[target.'cfg(target_family = "wasm")'.dependencies.tokio]
version = "1.47.1"
features = ["rt"]