stubr 0.6.2

Wiremock implemented in Rust
Documentation
[package]
name = "stubr"
version = "0.6.2"
edition = "2021"
authors = ["Beltram Maldant"]
description = "Wiremock implemented in Rust"
homepage = "https://github.com/beltram/stubr"
repository = "https://github.com/beltram/stubr"
license = "Apache-2.0"
keywords = ["cli", "mock", "test", "contract", "http"]
categories = ["command-line-utilities", "development-tools::testing"]

include = ["/src/*", "/Cargo.toml"]

[build-dependencies]
tonic-build = "0.9"

[dependencies]
anyhow = "1.0"
stubr-attributes = { path = "../attributes", version = "0.6.2", optional = true }
async-trait = "0.1"
serde_json = { version = "1.0", default-features = false }
http-types = { version = "2.12", default-features = false, features = ["hyperium_http"] }
itertools = "0.10"
const_format = "0.2"
regex = "1.6"
jsonpath_lib = "0.3"
jsonpath-plus = "0.1"
handlebars = "=4.3.6"
lazy_static = "1.4"
base64 = { version = "0.21", default-features = false, features = ["alloc"] }
futures = "0.3"
chrono = { version = "0.4", default-features = false }
simpledateformat = "0.1"
humantime = "2.1"
chrono-tz = { version = "0.8", default-features = false }
percent-encoding = "2.2"
log = { version = "0.4", features = ["release_max_level_info"] }
http = "0.2"
serde = { version = "1.0", features = ["derive"], default-features = false }
async-std = "1.12"
jsonwebtoken = { version = "8.1", default-features = false }
rand_xorshift = "0.3"
rand = "0.8"
regex-syntax = { version = "0.6", default-features = false }
rand_regex = { version = "0.15", default-features = false }
thiserror = "1.0"
rand_distr = "0.4"

isahc = { version = "1.7", optional = true, default-features = false }
reqwest = { version = "0.11", optional = true, default-features = false }

json_value_merge = { version = "1.1", optional = true }
actix-web = { version = "4.2", optional = true, default-features = false }
actix-http = { version = "3.2", optional = true, default-features = false }
actix-service = { version = "2.0", optional = true }
futures-util = { version = "0.3", optional = true }

warp = { version = "0.3", optional = true, default-features = false }
warp-reverse-proxy = { version = "1.0", optional = true, default-features = false }
tokio = { version = "1.16", features = ["rt", "io-util", "time"] }

# For gRPC
tonic = { version = "0.9", optional = true }

protobuf-json-mapping = { version = "3.2", optional = true }
protobuf = { version = "=3.2.0", optional = true }
protobuf-parse = { version = "3.2", optional = true }

# For wiremock copy
assert-json-diff = "2.0"
hyper = { version = "0.14", features = ["full"] }
futures-timer = "3.0"

[dev-dependencies]
async-std = { version = "1.12", features = ["attributes"] }
stubr = { path = ".", features = ["record-standalone", "record-isahc", "record-reqwest", "record-actix", "verify-actix", "grpc"] }
surf = "2.3"
tempfile = "3.3"
isahc = { version = "1.7", features = ["json"] }
tokio = { version = "1.16", features = ["macros", "rt-multi-thread"] }
criterion = { version = "0.5", features = ["async_std", "html_reports"] }
actix-web = { version = "4.2", default-features = false, features = ["macros"] }
uuid = "1.1"
email-address-parser = "2.0"
prost = "0.11"

asserhttp = { version = "0.6", features = ["surf", "isahc", "reqwest", "actix", "tonic"] }

[[bench]]
name = "startup"
path = "benches/startup.rs"
harness = false

[[bench]]
name = "matching"
path = "benches/matching.rs"
harness = false

[[bench]]
name = "response"
path = "benches/response.rs"
harness = false

[[bench]]
name = "templating"
path = "benches/templating.rs"
harness = false

[features]
default = ["attributes"]
cloud = []
verify = ["json_value_merge"]
verify-actix = ["verify", "actix-web", "actix-http", "actix-service"]
attributes = ["stubr-attributes"]
record-standalone = ["warp", "warp-reverse-proxy"]
record-isahc = ["isahc"]
record-reqwest = ["reqwest", "reqwest/blocking"]
record-actix = ["actix-web", "actix-http", "actix-service", "futures-util"]
grpc = ["dep:tonic", "dep:protobuf", "dep:protobuf-json-mapping", "dep:protobuf-parse"]