throttle-server 0.5.12

Provide semaphores for distributed systems via an http interface
[package]
name = "throttle-server"
version = "0.5.12"
authors = ["Markus Klein"]
edition = "2024"
license = "MIT"

# Link to github repository
repository = "https://github.com/pacman82/throttle.git"

# A short blurb about the package. This is not rendered in any format when
# uploaded to crates.io (aka this is not markdown).
description = "Provide semaphores for distributed systems via an http interface"

# This is a list of up to five keywords that describe this crate. Keywords
# are searchable on crates.io, and you may choose any words that would
# help someone find this crate.
keywords = ["semaphore", "http"]

# This is a list of up to five categories where this crate would fit.
# Categories are a fixed list available at crates.io/category_slugs, and
# they must match exactly.
categories = ["concurrency"]

# This points to a file under the package root (relative to this `Cargo.toml`).
# The contents of this file are stored and indexed in the registry.
# crates.io will render this file and place the result on the crate's page.
readme = "../Readme.md"

# A crate can have more than one binary, hence the `[[]]` double brackets to
# indicate a toml array.
[[bin]]
# Name binary throttle. Crate name should have been `throttle`, alas it had
# already been taken.
name = "throttle"

# Since there might be more than one binary, we need to specify which one we
# are referencing
path = "src/main.rs"

[dependencies]
prometheus = "0.14.0"
percent-encoding = "2.3.2"
lazy_static = "1.5.0"
serde = "1.0.228"
serde_json = "1.0.149"
toml = "1.0.7"
rand = "0.10.0"
env_logger = "0.11.9"
humantime-serde = "1.1.1"
thiserror = "2.0.18"
version = "3.0.0"
clap = { version = "4.6.0", features = ["derive"] }
axum = "0.8.8"
anyhow = "1.0.102"

# We use it explicitly for the time::timeout feature
[dependencies.tokio]
version = "1.50.0"
features = ["rt-multi-thread", "macros", "time"]

[dependencies.log]
version = "0.4.29"
features = ["serde"]

[dev-dependencies]
tempfile = "3.27.0"
# We need the client for integration tests
throttle-client = { path = "../rust_client" }
# Executer to call drive future executions in tests
tokio = { version = "1.50.0", features = ["full"] }

[features]