Files
xevion.dev/Cargo.toml
Xevion 9d231e6fdc feat: add ISR cache with stale-while-revalidate pattern
Implements in-memory caching for SSR pages using moka with:
- Configurable fresh/stale TTLs (60s/300s defaults)
- Background refresh for stale entries
- Cache invalidation on project/tag mutations
- Pre-cached icon collections on startup
- Skips cache for authenticated requests
2026-01-12 03:41:06 -06:00

37 lines
1.3 KiB
TOML

[package]
name = "api"
version = "0.1.0"
edition = "2024"
default-run = "api"
[dependencies]
argon2 = "0.5"
aws-config = "1.8.12"
aws-sdk-s3 = "1.119.0"
axum = "0.8.8"
axum-extra = { version = "0.12", features = ["cookie"] }
clap = { version = "4.5.54", features = ["derive", "env"] }
dashmap = "6.1.0"
dotenvy = "0.15"
futures = "0.3.31"
include_dir = "0.7.4"
mime_guess = "2.0.5"
moka = { version = "0.12.12", features = ["future"] }
nu-ansi-term = "0.50.3"
rand = "0.9.2"
reqwest = { version = "0.13.1", default-features = false, features = ["rustls", "charset", "json", "stream"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.148"
sqlx = { version = "0.8", features = ["runtime-tokio", "tls-rustls", "postgres", "uuid", "time", "migrate"] }
thiserror = "2.0.17"
time = { version = "0.3.44", features = ["formatting", "macros", "serde"] }
tokio = { version = "1.49.0", features = ["full"] }
tokio-util = { version = "0.7.18", features = ["io"] }
tower = "0.5"
tower-http = { version = "0.6.8", features = ["trace", "cors", "limit"] }
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.22", features = ["env-filter", "json"] }
ulid = { version = "1", features = ["serde"] }
urlencoding = "2.1"
uuid = { version = "1", features = ["serde", "v4"] }