[package] name = "rama-http" description = "rama http layers, services and other utilities" version = { workspace = true } license = { workspace = true } edition = { workspace = true } repository = { workspace = true } keywords = ["io", "async", "proxy", "http", "rama"] categories = ["asynchronous", "network-programming", "web-programming"] authors = { workspace = true } rust-version = { workspace = true } [features] default = [] compression = ["dep:async-compression"] telemetry = ["rama-core/telemetry"] tls = ["rama-net/tls"] [dependencies] async-compression = { workspace = true, features = [ "tokio", "brotli", "zlib", "gzip", "zstd", ], optional = true } base64 = { workspace = true } bitflags = { workspace = true } bytes = { workspace = true } futures-lite = { workspace = true } headers = { workspace = true } http = { workspace = true } http-body = { workspace = true } http-body-util = { workspace = true } http-range-header = { workspace = true } httpdate = { workspace = true } iri-string = { workspace = true } mime = { workspace = true } mime_guess = { workspace = true } paste = { workspace = true } percent-encoding = { workspace = true } pin-project-lite = { workspace = true } rama-core = { version = "0.2.0-alpha.3", path = "../rama-core" } rama-http-types = { version = "0.2.0-alpha.3", path = "../rama-http-types" } rama-net = { version = "0.2.0-alpha.3", path = "../rama-net", features = ["http"] } rama-ua = { version = "0.2.0-alpha.3", path = "../rama-ua" } rama-utils = { version = "0.2.0-alpha.3", path = "../rama-utils" } regex = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_html_form = { workspace = true } serde_json = { workspace = true } tokio = { workspace = true, features = ["macros", "fs", "io-std"] } tokio-util = { workspace = true, features = ["io"] } tracing = { workspace = true } uuid = { workspace = true, features = ["v4"] } [dev-dependencies] brotli = { workspace = true } flate2 = { workspace = true } itertools = { workspace = true } parking_lot = { workspace = true } rama-http-backend = { version = "0.2.0-alpha.3", path = "../rama-http-backend" } rama-tcp = { version = "0.2.0-alpha.3", path = "../rama-tcp" } tempfile = { workspace = true } tokio = { workspace = true, features = ["full"] } tokio-test = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter"] } zstd = { workspace = true } [package.metadata.cargo-public-api-crates] allowed = [] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]