bloop-server-framework 2.0.0

Bloop server framework
Documentation
[package]
name = "bloop-server-framework"
version = "2.0.0"
edition = "2024"
authors = ["Ben Scholzen 'DASPRiD' <mail@dasprids.de>"]
description = "Bloop server framework"
license = "BSD-2-Clause"
repository = "https://github.com/bloop-box/bloop-server-framework"

[features]
## Enables better debug output for achievements; requires all your evaluators to implement `Debug`.
evaluator-debug = []

## Implements `IntoSubsystem` trait for several runtime modules.
tokio-graceful-shutdown = ["dep:tokio-graceful-shutdown"]

## Enables the statistics HTTP server.
statistics = ["dep:hyper", "dep:hyper-util", "dep:http-body-util", "dep:bytes", "dep:serde_json"]

## Enables health monitoring.
health-monitor = []

## Enables health monitoring through Telegram.
health-monitor-telegram = ["health-monitor", "dep:teloxide"]

[[example]]
name = "simple"
required-features = ["tokio-graceful-shutdown"]

[dependencies]
bloop-protocol = { version = "1", features = ["hex", "md5", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.19", features = ["serde", "v4"] }
serde = { version = "1.0", features = ["derive"] }
md5 = "0.8.0"
chrono-tz = "0.10.4"
cached = "0.56.0"
num-integer = "0.1.46"
tokio = { version = "1.48", features = ["fs", "io-std", "io-util", "macros", "net", "rt", "sync", "time"] }
tokio-rustls = "0.26.4"
rustls = "0.23.35"
thiserror = "2.0"
tracing = "0.1.43"
argon2 = "0.5.3"
tempfile = "3.23"

# Deps for tokio-graceful-shutdown feature
tokio-graceful-shutdown = { version = "0.19.2", optional = true }

# Deps for statistics feature
hyper = { version = "1.6.0", features = ["http1", "server"], optional = true }
hyper-util = { version = "0.1.14", features = ["tokio"], optional = true }
http-body-util = { version = "0.1.3", optional = true }
bytes = { version = "1.10.1", optional = true }
serde_json = { version = "1.0.140", optional = true }

# Deps for health-monitor-telegram feature
teloxide = { version = "0.17.0", optional = true, default-features = false, features = ["rustls"] }
humantime-serde = "1.1.1"

[dev-dependencies]
anyhow = "1.0.98"
bytes = "1.10.1"
hex = "0.4.3"
ntest = "0.9.3"
tokio = { version = "1", features = ["full", "test-util"]}
tokio-graceful-shutdown = "0.19.2"
tokio-test = "0.4.4"

[package.metadata.docs.rs]
all-features = true