[package]
name = "atomic_http"
version = "0.9.0"
authors = ["hsng95@gmail.com"]
description = "High level HTTP server library"
homepage = "https://github.com/rabbitson87/atomic_http"
repository = "https://github.com/rabbitson87/atomic_http"
keywords = ["http", "server", "web"]
license = "Apache-2.0"
edition = "2021"
rust-version = "1.77"
[workspace]
members = ["test"]
[dependencies]
tokio = { version = "1.47.1", default-features = false, features = [
"net",
"macros",
"io-util",
"fs",
"time",
"rt",
"sync",
] }
async-trait = "0.1.89"
http = "1.3.1"
serde_json = "1.0.145"
serde = { version = "1.0.228", features = ["derive"] }
thiserror = "2.0.17"
memmap2 = { version = "0.9.8" }
mime_guess = { version = "2.0.5" }
tokio-rustls = { version = "0.26.4", default-features = false, optional = true }
dotenv = { version = "0.15.0", optional = true }
bumpalo = { version = "3.19.0", features = [
"collections",
"boxed",
"serde",
], optional = true }
bumpalo-herd = { version = "0.1.2", optional = true }
dashmap = "6.1.0"
futures = { version = "0.3", optional = true }
[dev-dependencies]
criterion = { version = "0.7.0", features = ["html_reports", "async_tokio"] }
reqwest = { version = "0.12.23", features = ["json", "multipart"] }
clap = { version = "4.5.48", features = ["derive"] }
tokio = { version = "1.47.1", default-features = false, features = [
"rt-multi-thread",
] }
rand = { version = "0.9.2", features = ["std"] }
chrono = { version = "0.4.42", features = ["serde"] }
[[bench]]
name = "http_benchmark"
harness = false
[[example]]
name = "zero_copy_test"
[[example]]
name = "integrated_test"
[[example]]
name = "comparative_benchmark"
[[example]]
name = "integrated_multipart_test"
[[example]]
name = "simple_server_test"
[[example]]
name = "simple_performance_test"
[[example]]
name = "simple_benchmark_test"
[[example]]
name = "debug_test"
[[example]]
name = "simd_benchmark"
[[example]]
name = "simd_comparison"
[[example]]
name = "vectored_io_benchmark"
[[example]]
name = "simple_vectored_test"
[[example]]
name = "connection_pool_benchmark"
[[example]]
name = "simple_connection_test"
[features]
default = ["arena", "simd", "vectored_io", "connection_pool"]
tokio_rustls = ["dep:tokio-rustls"]
response_file = []
debug = []
env = ["dep:dotenv"]
arena = ["dep:bumpalo", "dep:bumpalo-herd"]
simd = []
vectored_io = []
connection_pool = ["dep:futures"]