[package] name = "xitca-http" version = "0.6.0" edition = "2021" license = "Apache-2.0" description = "http library for xitca" repository = "https://github.com/HFQR/xitca-web" keywords = ["xitca", "xitca-web"] authors = ["fakeshadow "] readme= "README.md" [features] # default include only http1. default = ["http1"] # http1 specific feature. http1 = ["httparse", "itoa", "runtime"] # http2 specific feature. http2 = ["h2", "fnv", "futures-util/alloc", "runtime", "slab"] # http3 specific feature. http3 = ["xitca-io/quic", "futures-util/alloc", "h3", "h3-quinn", "runtime"] # openssl as server side tls. openssl = ["xitca-tls/openssl", "runtime"] # rustls as server side tls. rustls = ["xitca-tls/rustls-no-crypto", "runtime"] # rustls as server side tls. rustls-uring = ["rustls", "xitca-tls/rustls-uring-no-crypto", "xitca-io/runtime-uring"] # rustls as server side tls. native-tls = ["dep:native-tls", "runtime"] # async runtime feature. runtime = ["xitca-io/runtime", "tokio"] # unstable features that are subject to be changed at anytime. io-uring = ["xitca-io/runtime-uring", "tokio-uring"] router = ["xitca-router"] [dependencies] xitca-io = "0.4.0" xitca-service = { version = "0.2.0", features = ["alloc", "std"] } xitca-unsafe-collection = { version = "0.2.0", features = ["bytes"] } futures-core = "0.3.17" http = "1" httpdate = "1.0" pin-project-lite = "0.2.10" tracing = { version = "0.1.40", default-features = false } # native tls support native-tls = { version = "0.2.7", features = ["alpn"], optional = true } # tls support shared xitca-tls = { version = "0.4.0", optional = true } # http/1 support httparse = { version = "1.8", optional = true } itoa = { version = "1", optional = true } # http/2 support h2 = { version = "0.4", optional = true } fnv = { version = "1.0.7", optional = true } futures-util = { version = "0.3.17", default-features = false, optional = true } slab = { version = "0.4", optional = true } # http/3 support h3 = { version = "0.0.6", optional = true } h3-quinn = { version = "0.0.7", optional = true } # async runtime support. tokio = { version = "1.30", features = ["rt", "time"], optional = true } # util service support xitca-router = { version = "0.3.0", optional = true } # io-uring support tokio-uring = { version = "0.5.0", features = ["bytes"], optional = true } [target.'cfg(not(target_family = "wasm"))'.dependencies] socket2 = { version = "0.5.1", features = ["all"] } [dev-dependencies] criterion = "0.5" xitca-server = "0.4" [[bench]] name = "h1_decode" harness = false