[package]
edition = "2021"
name = "water_http"
version = "4.0.4"
authors = ["Hassan Sharara <hassansharara12@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "water_http"
description = "fast web http framework that support http 1 and http 2 with very easy use"
homepage = "https://github.com/HassanSharara"
readme = "README.md"
keywords = [
"http",
"water_http",
"water-http",
"water-server",
]
categories = [
"network-programming",
"web-programming::http-server",
]
license = "MIT"
repository = "https://github.com/HassanSharara/water_http"
[features]
accept_transfer_chunked = []
auto_encode_response = []
count_connection_parsing_speed = [
"tracing",
"tracing-subscriber",
]
cpu_affinity = ["dep:core_affinity"]
debugging = [
"tracing",
"tracing-subscriber",
]
lazy_response = []
mini = []
support_tls = [
"rustls",
"rustls-pemfile",
"tokio-rustls",
]
thread_shared_struct = []
use_io_uring = [
"tokio-uring",
"water_buffer/uring",
]
use_only_http1 = []
use_tokio_send = []
write_logs = ["water_http_utils/write_logs"]
[lib]
name = "water_http"
path = "src/lib.rs"
[[bin]]
name = "io_uring"
path = "src/io_uring_run.rs"
required-features = ["use_io_uring"]
[[bin]]
name = "water_http"
path = "src/main.rs"
[[example]]
name = "all_post_requests"
path = "examples/all_post_requests.rs"
required-features = []
[[example]]
name = "all_post_requests_shared"
path = "examples/all_post_requests_shared.rs"
required-features = ["thread_shared_struct"]
[[example]]
name = "all_post_requests_shared_send_tls"
path = "examples/all_post_requests_shared_send_tls.rs"
required-features = [
"thread_shared_struct",
"support_tls",
"use_tokio_send",
]
[[example]]
name = "cross_middlewares"
path = "examples/cross_middlewares.rs"
[[example]]
name = "cross_redirect"
path = "examples/cross_redirect.rs"
[[example]]
name = "default"
path = "examples/default.rs"
[[example]]
name = "dynamic_path_with_slashes"
path = "examples/dynamic_path_with_slashes.rs"
[[example]]
name = "fast_start_server"
path = "examples/fast_start_server.rs"
[[example]]
name = "fast_start_server_shared"
path = "examples/fast_start_server_shared.rs"
required-features = ["thread_shared_struct"]
[[example]]
name = "html_render"
path = "examples/html_render.rs"
[[example]]
name = "lazy_response"
path = "examples/lazy_response.rs"
required-features = ["lazy_response"]
[[example]]
name = "lazy_response_interceptor"
path = "examples/lazy_response_interceptor.rs"
required-features = ["lazy_response"]
[[example]]
name = "middleware"
path = "examples/middleware.rs"
[[example]]
name = "mini_server"
path = "examples/mini_server.rs"
required-features = ["mini"]
[[example]]
name = "path_params"
path = "examples/path_params.rs"
[[example]]
name = "public_files_serving"
path = "examples/public_files_serving.rs"
[[example]]
name = "redirect"
path = "examples/redirect.rs"
[[example]]
name = "sending_files"
path = "examples/sending_files.rs"
[[example]]
name = "uploading_files"
path = "examples/uploading_files.rs"
[dependencies.brotli]
version = "7.0.0"
[dependencies.byteorder]
version = "1.5.0"
[dependencies.bytes]
version = "1.7.2"
[dependencies.bzip2]
version = "0.5.0"
[dependencies.core_affinity]
version = "0.8.3"
optional = true
[dependencies.flate2]
version = "1.0.35"
[dependencies.futures]
version = "0.3.32"
[dependencies.h2]
version = "0.4.12"
[dependencies.http]
version = "1.1.0"
[dependencies.httpdate]
version = "1.0.3"
[dependencies.integer_to_bytes]
version = "0.2.1"
[dependencies.itoa]
version = "1.0.15"
[dependencies.lz4]
version = "1.28.0"
[dependencies.rustls]
version = "0.23.13"
optional = true
[dependencies.rustls-pemfile]
version = "2.2.0"
optional = true
[dependencies.serde]
version = "1.0.210"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.128"
[dependencies.smallbox]
version = "0.8.8"
[dependencies.snap]
version = "1.1.1"
[dependencies.tokio]
version = "1.48.0"
features = ["full"]
[dependencies.tokio-rustls]
version = "0.26.2"
optional = true
[dependencies.tokio-uring]
version = "0.5.0"
optional = true
[dependencies.tracing]
version = "0.1.40"
optional = true
[dependencies.tracing-subscriber]
version = "0.3.18"
features = ["env-filter"]
optional = true
[dependencies.twoway]
version = "0.2.2"
[dependencies.urlencoding]
version = "2.1.3"
[dependencies.water_buffer]
version = "1.2.10"
features = [
"bytes",
"unsafe_clone",
]
[dependencies.water_http_utils]
version = "0.4.2"
features = ["server"]
[dependencies.zstd]
version = "0.13.2"
[dev-dependencies.askama]
version = "0.14.0"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(tokio_unstable)",
"cfg(code_test)",
]