[package]
edition = "2024"
name = "aex"
version = "0.1.6"
authors = ["Eric <calidion@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A web server for rust."
readme = "README.md"
keywords = [
"rust",
"web",
"http",
"server",
"router",
]
license = "GPL-3.0-or-later"
repository = "https://github.com/Free-Web-Movement/aex"
[features]
default = ["router-cache"]
http-timeout = []
router-cache = []
[lib]
name = "aex"
path = "src/lib.rs"
[[bin]]
name = "http-server"
path = "src/main.rs"
[[example]]
name = "bench_simulate"
path = "examples/bench_simulate.rs"
[[example]]
name = "comparison"
path = "benches/comparison.rs"
harness = false
[[example]]
name = "fluent_api"
path = "examples/fluent_api.rs"
[[example]]
name = "hello_world"
path = "examples/hello_world.rs"
[[example]]
name = "http2_test"
path = "examples/http2_test.rs"
[[example]]
name = "http_benchmark_actix"
path = "examples/http_benchmark_actix.rs"
[[example]]
name = "http_benchmark_aex"
path = "examples/http_benchmark_aex.rs"
[[example]]
name = "http_benchmark_axum"
path = "examples/http_benchmark_axum.rs"
[[example]]
name = "http_ws_framed_tcp_framed_udp"
path = "examples/http_ws_framed_tcp_framed_udp.rs"
[[example]]
name = "http_ws_framed_tcp_raw_udp"
path = "examples/http_ws_framed_tcp_raw_udp.rs"
[[example]]
name = "http_ws_raw_tcp_framed_udp"
path = "examples/http_ws_raw_tcp_framed_udp.rs"
[[example]]
name = "http_ws_raw_tcp_raw_udp"
path = "examples/http_ws_raw_tcp_raw_udp.rs"
[[example]]
name = "middleware_api"
path = "examples/middleware_api.rs"
[[example]]
name = "minimal_test"
path = "examples/minimal_test.rs"
[[example]]
name = "rest_api"
path = "examples/rest_api.rs"
[[example]]
name = "router_benchmark"
path = "examples/router_benchmark.rs"
[[example]]
name = "simple_http_bench"
path = "examples/simple_http_bench.rs"
[[example]]
name = "simple_test"
path = "examples/simple_test.rs"
[[example]]
name = "unified_server"
path = "examples/unified_server.rs"
[[example]]
name = "unified_server_with_tcp_router"
path = "examples/unified_server_with_tcp_router.rs"
[[example]]
name = "websocket"
path = "examples/websocket.rs"
[[test]]
name = "communicators_event_test"
path = "tests/communicators_event_test.rs"
[[test]]
name = "communicators_pipe_test"
path = "tests/communicators_pipe_test.rs"
[[test]]
name = "communicators_spreader_test"
path = "tests/communicators_spreader_test.rs"
[[test]]
name = "connection_commands_ack_test"
path = "tests/connection_commands_ack_test.rs"
[[test]]
name = "connection_commands_hello_test"
path = "tests/connection_commands_hello_test.rs"
[[test]]
name = "connection_commands_mod_test"
path = "tests/connection_commands_mod_test.rs"
[[test]]
name = "connection_commands_reject_test"
path = "tests/connection_commands_reject_test.rs"
[[test]]
name = "connection_commands_router_test"
path = "tests/connection_commands_router_test.rs"
[[test]]
name = "connection_commands_test"
path = "tests/connection_commands_test.rs"
[[test]]
name = "connection_commands_welcome_test"
path = "tests/connection_commands_welcome_test.rs"
[[test]]
name = "connection_context_test"
path = "tests/connection_context_test.rs"
[[test]]
name = "connection_global_context_test"
path = "tests/connection_global_context_test.rs"
[[test]]
name = "connection_handshake_handler_test"
path = "tests/connection_handshake_handler_test.rs"
[[test]]
name = "connection_handshake_test"
path = "tests/connection_handshake_test.rs"
[[test]]
name = "connection_manager_test"
path = "tests/connection_manager_test.rs"
[[test]]
name = "connection_metrics_test"
path = "tests/connection_metrics_test.rs"
[[test]]
name = "connection_node_test"
path = "tests/connection_node_test.rs"
[[test]]
name = "connection_pool_limit_test"
path = "tests/connection_pool_limit_test.rs"
[[test]]
name = "connection_protocol_test"
path = "tests/connection_protocol_test.rs"
[[test]]
name = "connection_scope_test"
path = "tests/connection_scope_test.rs"
[[test]]
name = "connection_state_machine_test"
path = "tests/connection_state_machine_test.rs"
[[test]]
name = "connection_status_test"
path = "tests/connection_status_test.rs"
[[test]]
name = "connection_types_test"
path = "tests/connection_types_test.rs"
[[test]]
name = "crypto_mod_test"
path = "tests/crypto_mod_test.rs"
[[test]]
name = "crypto_session_key_pair_test"
path = "tests/crypto_session_key_pair_test.rs"
[[test]]
name = "crypto_session_key_test"
path = "tests/crypto_session_key_test.rs"
[[test]]
name = "handshake_state_test"
path = "tests/handshake_state_test.rs"
[[test]]
name = "handshake_test"
path = "tests/handshake_test.rs"
[[test]]
name = "heartbeat_test"
path = "tests/heartbeat_test.rs"
[[test]]
name = "http2_test"
path = "tests/http2_test.rs"
[[test]]
name = "http_content_type_test"
path = "tests/http_content_type_test.rs"
[[test]]
name = "http_header_test"
path = "tests/http_header_test.rs"
[[test]]
name = "http_media_test"
path = "tests/http_media_test.rs"
[[test]]
name = "http_meta_test"
path = "tests/http_meta_test.rs"
[[test]]
name = "http_method_test"
path = "tests/http_method_test.rs"
[[test]]
name = "http_middlewares_cors_test"
path = "tests/http_middlewares_cors_test.rs"
[[test]]
name = "http_middlewares_logger_test"
path = "tests/http_middlewares_logger_test.rs"
[[test]]
name = "http_middlewares_rate_limit_test"
path = "tests/http_middlewares_rate_limit_test.rs"
[[test]]
name = "http_middlewares_validator_test"
path = "tests/http_middlewares_validator_test.rs"
[[test]]
name = "http_middlewares_websocket_test"
path = "tests/http_middlewares_websocket_test.rs"
[[test]]
name = "http_mod_test"
path = "tests/http_mod_test.rs"
[[test]]
name = "http_params_test"
path = "tests/http_params_test.rs"
[[test]]
name = "http_protocol_test"
path = "tests/http_protocol_test.rs"
[[test]]
name = "http_req_test"
path = "tests/http_req_test.rs"
[[test]]
name = "http_res_test"
path = "tests/http_res_test.rs"
[[test]]
name = "http_router_test"
path = "tests/http_router_test.rs"
[[test]]
name = "http_status_test"
path = "tests/http_status_test.rs"
[[test]]
name = "http_test"
path = "tests/http_test.rs"
[[test]]
name = "http_types_test"
path = "tests/http_types_test.rs"
[[test]]
name = "http_version_test"
path = "tests/http_version_test.rs"
[[test]]
name = "http_websocket_test"
path = "tests/http_websocket_test.rs"
[[test]]
name = "macros_test"
path = "tests/macros_test.rs"
[[test]]
name = "message_queue_test"
path = "tests/message_queue_test.rs"
[[test]]
name = "multicast_test"
path = "tests/multicast_test.rs"
[[test]]
name = "p2p_bidirectional_test"
path = "tests/p2p_bidirectional_test.rs"
[[test]]
name = "protocol_codec_test"
path = "tests/protocol_codec_test.rs"
[[test]]
name = "retry_test"
path = "tests/retry_test.rs"
[[test]]
name = "server_test"
path = "tests/server_test.rs"
[[test]]
name = "storage_test"
path = "tests/storage_test.rs"
[[test]]
name = "tcp_listener_test"
path = "tests/tcp_listener_test.rs"
[[test]]
name = "tcp_mod_test"
path = "tests/tcp_mod_test.rs"
[[test]]
name = "tcp_router_ok_test"
path = "tests/tcp_router_ok_test.rs"
[[test]]
name = "tcp_router_test"
path = "tests/tcp_router_test.rs"
[[test]]
name = "tcp_types_test"
path = "tests/tcp_types_test.rs"
[[test]]
name = "time_test"
path = "tests/time_test.rs"
[[test]]
name = "udp_mod_test"
path = "tests/udp_mod_test.rs"
[[test]]
name = "udp_router_test"
path = "tests/udp_router_test.rs"
[[test]]
name = "unified_listener_all_protocols_test"
path = "tests/unified_listener_all_protocols_test.rs"
[[test]]
name = "unified_server_test"
path = "tests/unified_server_test.rs"
[[bench]]
name = "codec_performance"
path = "benches/codec_performance.rs"
harness = false
[[bench]]
name = "comparison"
path = "benches/comparison.rs"
[[bench]]
name = "connection_performance"
path = "benches/connection_performance.rs"
harness = false
[[bench]]
name = "http_router"
path = "benches/http_router.rs"
harness = false
[[bench]]
name = "middleware_performance"
path = "benches/middleware_performance.rs"
harness = false
[[bench]]
name = "router_comparison"
path = "benches/router_comparison.rs"
[dependencies.ahash]
version = "0.7.8"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-channel]
version = "2.0"
[dependencies.async-fs]
version = "2.0"
[dependencies.async-lock]
version = "3.0"
[dependencies.async-net]
version = "2.0"
[dependencies.base64]
version = "0.22.1"
[dependencies.bincode]
version = "2.0.0-rc.3"
[dependencies.bitflags]
version = "2.10.0"
features = ["serde"]
[dependencies.bytes]
version = "1.11.1"
[dependencies.chacha20poly1305]
version = "0.10.1"
[dependencies.chrono]
version = "0.4.43"
[dependencies.dashmap]
version = "6.1.0"
[dependencies.derivative]
version = "2.2.0"
[dependencies.dirs-next]
version = "2.0.0"
[dependencies.form_urlencoded]
version = "1.2.2"
[dependencies.futures]
version = "0.3.31"
[dependencies.get_if_addrs]
version = "0.5.3"
[dependencies.h2]
version = "0.4"
[dependencies.http]
version = "1"
[dependencies.http-body]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.parking_lot]
version = "0.12"
[dependencies.regex]
version = "1.12.2"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.145"
[dependencies.sha1]
version = "0.10.6"
[dependencies.smol]
version = "2.0"
[dependencies.tokio]
version = "1.40"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.url]
version = "2.5.8"
[dependencies.x25519-dalek]
version = "2.0"
features = [
"static_secrets",
"getrandom",
]
[dependencies.zz-validator]
version = "0.1.2"
[dev-dependencies.actix-web]
version = "4"
[dev-dependencies.axum]
version = "0.7"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.h2]
version = "0.4"
[dev-dependencies.reqwest]
version = "0.13.2"
features = [
"json",
"blocking",
]
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.smol]
version = "2.0"
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
strip = true