[package]
name = "axum-techempower"
version = "0.3.0"
authors = ["Dragos Varovici <dvarovici.work@gmail.com>"]
edition = "2024"

[[bin]]
name = "axum"
path = "src/main.rs"

[[bin]]
name = "axum-sqlx"
path = "src/main_sqlx.rs"

[[bin]]
name = "axum-pg-pool"
path = "src/main_pg_pool.rs"

[[bin]]
name = "axum-mongo"
path = "src/main_mongo.rs"

[[bin]]
name = "axum-mongo-raw"
path = "src/main_mongo_raw.rs"

[[bin]]
name = "axum-pg"
path = "src/main_pg.rs"

[features]
default = []
simd-json = [
    "dep:simd-json",
    "dep:axum-core",
    "dep:mime",
    "dep:bytes",
    "dep:serde_path_to_error",
]

[dependencies]
axum = { version = "0.8.4", default-features = false, features = [
    "json",
    "query",
    "http1",
    "tokio",
] }
deadpool = { version = "0.12.2", features = ["rt_tokio_1", "serde", "managed"] }
deadpool-postgres = { version = "0.14.1", features = ["rt_tokio_1", "serde"] }
dotenv = "0.15.0"
futures = "0.3.31"
futures-util = "0.3.31"
mongodb = { version = "3.2.4", features = [
    "zstd-compression",
    "snappy-compression",
    "zlib-compression",
] }

num_cpus = "1.17.0"
rand = { version = "0.9.2", features = ["small_rng"] }
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.141"
sqlx = { version = "0.8.6", features = [
    "postgres",
    "macros",
    "runtime-tokio",
    "tls-rustls",
] }
tokio = { version = "1.46.1", features = ["full"] }
tokio-pg-mapper = { version = "0.2.0" }
tokio-pg-mapper-derive = { version = "0.2.0" }
tokio-postgres = { version = "0.7.13" }
tower = { version = "0.5.2", features = ["util"] }
tower-http = { version = "0.6.6", features = ["set-header"] }
yarte = "0.15.7"
simd-json = { version = "0.15.1", optional = true }
axum-core = { version = "0.5.2", optional = true }
mime = { version = "0.3.17", optional = true }
bytes = { version = "1.10.1", optional = true }
serde_path_to_error = { version = "0.1.17", optional = true }
socket2 = "0.5.10"
hyper = { version = "1.6", features = ["server", "http1"] }
hyper-util = { version = "0.1", features = ["tokio", "server-auto", "http1"] }
quick_cache = "0.6.14"
mimalloc = "0.1.47"


[profile.release]
lto = "fat"
codegen-units = 1
# strip = true
opt-level = 3
