[package]
edition = "2021"
name = "mockforge-http"
version = "0.3.71"
authors = ["SaaSy Solutions LLC <ray.clanan@saasysolutionsllc.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HTTP/REST protocol support for MockForge"
homepage = "https://mockforge.dev"
documentation = "https://docs.rs/mockforge"
readme = "README.md"
keywords = [
"http",
"rest",
"api",
"mock",
"testing",
]
categories = [
"development-tools::testing",
"web-programming::http-server",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/SaaSy-Solutions/mockforge"
[features]
behavioral-cloning = []
data-faker = []
database = ["sqlx"]
default = []
mqtt = ["mockforge-mqtt"]
persona-graph = []
pipelines = [
"mockforge-pipelines",
"dashmap",
]
runtime-daemon = ["mockforge-runtime-daemon"]
smtp = ["mockforge-smtp"]
[lib]
name = "mockforge_http"
path = "src/lib.rs"
[[test]]
name = "comprehensive_integration_test"
path = "tests/comprehensive_integration_test.rs"
[[test]]
name = "deceptive_deploy_test"
path = "tests/deceptive_deploy_test.rs"
[[test]]
name = "error_scenarios_tests"
path = "tests/error_scenarios_tests.rs"
[[test]]
name = "failure_scenarios_test"
path = "tests/failure_scenarios_test.rs"
[[test]]
name = "fault_injection_e2e"
path = "tests/fault_injection_e2e.rs"
[[test]]
name = "fixture_record_replay_e2e"
path = "tests/fixture_record_replay_e2e.rs"
[[test]]
name = "response_example_expand_e2e"
path = "tests/response_example_expand_e2e.rs"
[[test]]
name = "response_status_2xx_e2e"
path = "tests/response_status_2xx_e2e.rs"
[[test]]
name = "security_tests"
path = "tests/security_tests.rs"
[[test]]
name = "spec_import_test"
path = "tests/spec_import_test.rs"
[[test]]
name = "token_integration_test"
path = "tests/token_integration_test.rs"
[[test]]
name = "uuid_override_e2e"
path = "tests/uuid_override_e2e.rs"
[[test]]
name = "validation_e2e"
path = "tests/validation_e2e.rs"
[[test]]
name = "validation_status_422_e2e"
path = "tests/validation_status_422_e2e.rs"
[dependencies.anyhow]
version = "1"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
version = "0.8"
features = [
"ws",
"multipart",
]
[dependencies.axum-server]
version = "0.8"
features = ["tls-rustls-no-provider"]
[dependencies.base64]
version = "0.22"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.dashmap]
version = "6.1"
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.glob]
version = "0.3"
[dependencies.globwalk]
version = "0.9"
[dependencies.governor]
version = "0.8"
[dependencies.hex]
version = "0.4"
[dependencies.http]
version = "1.3"
[dependencies.hyper]
version = "1.0"
features = ["full"]
[dependencies.itertools]
version = "0.14"
[dependencies.json-patch]
version = "4.0"
[dependencies.jsonpath]
version = "0.1"
[dependencies.jsonwebtoken]
version = "9.0"
[dependencies.mime_guess]
version = "2"
[dependencies.mockforge-chaos]
version = "0.3.71"
[dependencies.mockforge-core]
version = "0.3.71"
[dependencies.mockforge-data]
version = "0.3.71"
[dependencies.mockforge-mqtt]
version = "0.3.71"
optional = true
[dependencies.mockforge-observability]
version = "0.3.71"
[dependencies.mockforge-performance]
version = "0.3.71"
[dependencies.mockforge-pipelines]
version = "0.3.71"
optional = true
[dependencies.mockforge-recorder]
version = "0.3.71"
[dependencies.mockforge-route-chaos]
version = "0.3.71"
[dependencies.mockforge-runtime-daemon]
version = "0.3.71"
optional = true
[dependencies.mockforge-scenarios]
version = "0.3.71"
[dependencies.mockforge-smtp]
version = "0.3.71"
optional = true
[dependencies.mockforge-template-expansion]
version = "0.3.71"
[dependencies.mockforge-tracing]
version = "0.3.71"
[dependencies.mockforge-world-state]
version = "0.3.71"
[dependencies.oauth2]
version = "4.4"
[dependencies.opentelemetry]
version = "0.22"
features = ["trace"]
[dependencies.rand]
version = "0.9"
[dependencies.regex]
version = "1.10"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
[dependencies.ring]
version = "0.17"
[dependencies.roxmltree]
version = "0.21"
[dependencies.rustls]
version = "0.23"
[dependencies.rustls-pemfile]
version = "2.0"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"postgres",
"chrono",
"uuid",
"migrate",
]
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.0"
features = [
"rt-multi-thread",
"macros",
"net",
"time",
"sync",
"fs",
]
[dependencies.tokio-rustls]
version = "0.26"
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tower]
version = "0.5"
[dependencies.tower-http]
version = "0.6"
features = [
"fs",
"cors",
"trace",
"compression-full",
]
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2.5"
[dependencies.urlencoding]
version = "2.1"
[dependencies.uuid]
version = "1.0"
features = ["v4"]
[dev-dependencies.futures-util]
version = "0.3"
[dev-dependencies.mockforge-plugin-core]
version = "0.3.71"
[dev-dependencies.mockforge-ws]
version = "0.3.71"
[dev-dependencies.once_cell]
version = "1"
[dev-dependencies.opentelemetry_sdk]
version = "0.22"
[dev-dependencies.reqwest]
version = "0.12"
features = ["json"]
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1.48"
features = [
"macros",
"rt-multi-thread",
]
[dev-dependencies.tokio-tungstenite]
version = "0.28"
[dev-dependencies.uuid]
version = "1.0"
features = ["v4"]
[lints.rust]
missing_docs = "deny"