[package]
edition = "2024"
rust-version = "1.98"
name = "cratefield-module-webhooks"
version = "0.5.0"
build = false
include = [
"src/**/*",
"migrations/**/*",
"tests/**/*",
"README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cratefield module: outbound webhook delivery — per-subject endpoints, HMAC-signed POSTs, exponential backoff, dead letters and replay"
readme = "README.md"
keywords = [
"cratefield",
"webhooks",
"outbound",
"hmac",
"module",
]
categories = ["web-programming"]
license = "MIT"
repository = "https://github.com/Cratefield/harness"
[lib]
name = "cratefield_module_webhooks"
path = "src/lib.rs"
[[test]]
name = "conformance"
path = "tests/conformance.rs"
[[test]]
name = "webhooks"
path = "tests/webhooks.rs"
[dependencies.axum]
version = "0.8.9"
features = [
"json",
"query",
"form",
"matched-path",
"original-uri",
]
default-features = false
[dependencies.bytes]
version = "1.12.1"
[dependencies.cratefield-core]
version = "0.10"
[dependencies.getrandom]
version = "0.4.3"
features = ["wasm_js"]
default-features = false
[dependencies.hmac]
version = "0.13.0"
[dependencies.http]
version = "1.5.0"
[dependencies.sea-query]
version = "0.32.7"
features = [
"backend-sqlite",
"thread-safe",
]
default-features = false
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.sha2]
version = "0.11.0"
[dependencies.time]
version = "0.3.45"
features = [
"std",
"formatting",
"parsing",
"wasm-bindgen",
"macros",
]
default-features = false
[dependencies.tracing]
version = "0.1.44"
[dev-dependencies.async-trait]
version = "0.1.92"
[dev-dependencies.pollster]
version = "0.4"
features = ["macro"]
[lints.clippy]
all = "warn"
pedantic = "warn"
[lints.clippy.must_use_candidate]
level = "allow"
priority = 1
[lints.rust]
trivial_numeric_casts = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"