[package] authors = ["Bastian Gruber "] version = "1.0.0" edition = "2024" name = "ohttp-gateway" categories = ["web-programming", "web-programming::http-server"] description = "A OHTTP Gateway server, meant to run between a OHTTP Relay and a target web service." documentation = "https://docs.rs/ohttp-gateway" keywords = ["ohttp", "gateway", "server", "privacy"] license = "MPL-2.0" readme = "README.md" repository = "https://github.com/gruberb/ohttp-gateway" [dependencies] # Web framework and async runtime axum = { version = "0.7", features = ["macros"] } tokio = { version = "1.46", features = ["full"] } hyper = { version = "1.6", features = ["full"] } hyper-util = { version = "0.1", features = ["full"] } # HTTP client for backend requests reqwest = { version = "0.12", features = ["json", "stream"] } # OHTTP implementation - Using the martinthomson/ohttp crate ohttp = { version = "0.7.1", features = ["rust-hpke"] } bhttp = "0.7.1" # Middleware and utilities tower = "0.4" tower-http = { version = "0.6", features = [ "cors", "trace", "compression-br", "timeout", ] } # Serialization and configuration serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" config = "0.14" # Logging and observability tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } chrono = "0.4" # Error handling thiserror = "1.0" anyhow = "1.0" # Metrics and monitoring prometheus = "0.13" axum-prometheus = "0.7" # Security and validation validator = { version = "0.18", features = ["derive"] } jsonwebtoken = "9.3" uuid = { version = "1.17", features = ["v4"] } # Async utilities tokio-util = "0.7" futures = "0.3" # Random number generation hex = "0.4" rand = "0.8" # Configuration management clap = { version = "4.5", features = ["derive", "env"] } [dev-dependencies] tokio = { version = "1", features = ["full"] } hyper = "0.14" rand = "0.8" [profile.release] lto = "fat"