77 lines
1.9 KiB
TOML
77 lines
1.9 KiB
TOML
[package]
|
|
authors = ["Bastian Gruber <foreach@me.com>"]
|
|
version = "0.1.2"
|
|
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 = "MIT OR Apache-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.5", features = ["rust-hpke"] }
|
|
bhttp = "0.5"
|
|
|
|
# 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"
|