[package]
name = "hook0-client"
version = "2.0.2"
edition = "2024"
description = "Rust SDK for Hook0 Open-Source Webhooks as a service for SaaS"
authors = ["David Sferruzza <david@hook0.com>", "François-Guillaume Ribreau <fg@hook0.com>"]
license = "MIT"
keywords = ["webhooks", "webhook", "webhook-server", "events", "saas"]
homepage = "https://www.hook0.com/"
[dependencies]
chrono = { version = "0.4.45", features = ["serde"] }
hex = { version = "0.4.3", optional = true }
hmac = { version = "0.13.0", optional = true }
http = { version = "1.5.0", optional = true }
lazy-regex = { version = "3.6.1", optional = true }
tracing = { version = "0.1.44", features = ["log"] }
reqwest = { version = "0.13.4", features = ["hickory-dns", "json", "query"], optional = true }
serde = { version = "1.0.229", features = ["derive"], optional = true }
serde_json = { version = "1.0.151", optional = true }
sha2 = { version = "0.11.0", optional = true }
thiserror = "2.0.20"
tokio = { version = "1.53.1", features = ["time"], optional = true }
url = { version = "2.5.8", features = ["serde"], optional = true }
uuid = { version = "1.25.0", features = ["serde", "v7"], optional = true }
[dev-dependencies]
actix-web = { version = "4.15.0", default-features = false, features = ["macros"] }
proptest = "1.11.0"
serde_json = "1.0.151"
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "fmt"] }
[features]
default = ["producer", "consumer"]
consumer = ["hex", "hmac", "http", "sha2"]
producer = ["http", "lazy-regex", "reqwest", "serde", "serde_json", "tokio", "url", "uuid"]
[[example]]
name = "actix-web"
path = "examples/actix-web.rs"
required-features = ["consumer"]