Files
radicle-explorer/crates/radicle-httpd/Cargo.toml
T
Yorgos SaslisandDaniel Norman b9ba3b7917 Add RADICLE_HTTPD_LOG_FORMAT runtime switch
- Select text (default) or json log format at startup, not at
  compile time
- Emit the access log as structured fields (client, method, uri,
  version, status, latency_ms, bytes) in json
- Log status and size as plain text, since tracing-subscriber
  escapes ANSI codes
- Remove the logfmt feature and tracing-logfmt dependency
- Drop the radicle-term dependency
- Split format setup from lib.rs into logger.rs

Co-Authored-By: Daniel Norman <daniel@norman.life>
2026-09-24 14:55:09 +02:00

58 lines
2.1 KiB
TOML

[package]
name = "radicle-httpd"
description = "Radicle HTTP daemon"
homepage.workspace = true
license.workspace = true
version = "0.29.0"
authors = ["cloudhead <cloudhead@radicle.xyz>", "sebastinez <me@sebastinez.dev>"]
edition = "2021"
default-run = "radicle-httpd"
build = "build.rs"
[features]
default = ["artifacts"]
artifacts = [
"dep:radicle-artifact",
]
[[bin]]
name = "radicle-httpd"
path = "src/main.rs"
[dependencies]
anyhow.workspace = true
axum = { version = "0.8.4", default-features = false, features = ["json", "query", "tokio", "http1"] }
axum-listener = { version = "0.2.2" }
base64 = { version = "0.22.1" }
chrono.workspace = true
futures-util = { version = "0.3.32", default-features = false }
hyper = { version = "1.6.0", default-features = false }
infer = { version = "0.19.0" }
lexopt.workspace = true
lru = { version = "0.18.2" }
mime_guess = { version = "2.0.5" }
nonempty = { version = "0.12.0", features = ["serialize"] }
radicle.workspace = true
radicle-artifact = { version = "0.18", optional = true }
radicle-job = { version = "0.6.0" }
radicle-search = { path = "../radicle-search" }
radicle-surf = { workspace = true, features = ["serde"] }
serde.workspace = true
serde_json = { workspace = true, features = ["preserve_order"] }
thiserror.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "signal", "process", "io-util"] }
tokio-util = { version = "0.7.18", default-features = false, features = ["io"] }
tower-http = { version = "0.6.6", default-features = false, features = ["trace", "cors", "set-header", "decompression-full"] }
tracing.workspace = true
tracing-subscriber = { workspace = true, features = ["env-filter", "json"] }
url = { version = "2.5.4", features = ["serde"] }
uuid = { version = "1.13.1", features = ["serde"] }
[dev-dependencies]
hyper = { version = "1.6", default-features = false, features = ["client"] }
pretty_assertions = { version = "1.4.1" }
radicle = { workspace = true, features = ["test"] }
radicle-crypto = { version = "0.19.0", features = ["test"] }
tempfile = { version = "3.20.0" }
tower = { version = "0.5.2", features = ["util"] }