[package] name = "mendes" version = "0.9.4" edition = "2021" rust-version = "1.70" description = "Rust web toolkit for impatient perfectionists" documentation = "https://docs.rs/mendes" repository = "https://github.com/djc/mendes" keywords = ["web", "http", "server", "async"] categories = ["asynchronous", "web-programming::http-server"] license = "MIT OR Apache-2.0" workspace = ".." readme = "../README.md" [features] default = ["application"] application = ["http", "dep:async-trait", "dep:bytes", "dep:http-body", "dep:mendes-macros", "dep:percent-encoding", "dep:pin-project", "dep:serde", "dep:serde_urlencoded"] brotli = ["compression", "async-compression?/brotli"] chrono = ["dep:chrono"] compression = ["dep:async-compression", "dep:tokio", "dep:tokio-util"] cookies = ["http", "key", "dep:chrono", "dep:data-encoding", "dep:mendes-macros", "dep:postcard", "serde?/derive"] zlib = ["compression", "async-compression?/zlib"] deflate = ["zlib"] forms = ["dep:mendes-macros", "dep:serde_urlencoded", "serde?/derive"] gzip = ["compression", "async-compression?/gzip"] hyper = ["application", "http", "dep:async-trait", "dep:bytes", "dep:futures-util", "futures-util?/std", "dep:hyper", "dep:hyper-util", "dep:tokio", "tokio?/macros", "tracing"] key = ["dep:data-encoding", "dep:ring"] json = ["dep:serde_json"] uploads = ["http", "dep:httparse", "dep:memchr"] body = ["dep:http-body"] body-util = ["dep:http-body-util", "dep:bytes", "dep:http-body"] static = ["application", "http", "dep:mime_guess", "dep:tokio", "tokio?/fs"] tracing = ["dep:tracing"] [dependencies] async-compression = { version = "0.4.0", features = ["tokio"], optional = true } async-trait = { version = "0.1.24", optional = true } bytes = { version = "1", optional = true } chrono = { version = "0.4.23", optional = true, features = ["serde"] } data-encoding = { version = "2.1.2", optional = true } futures-util = { version = "0.3.7", optional = true, default-features = false } http = { version = "1", optional = true } http-body = { version = "1", optional = true } http-body-util = { version = "0.1", optional = true } httparse = { version = "1.3.4", optional = true } hyper = { version = "1", optional = true, features = ["http1", "http2", "server"] } hyper-util = { version = "0.1.3", features = ["http1", "http2", "server", "tokio"], optional = true } memchr = { version = "2.5", optional = true } mendes-macros = { version = "0.4", path = "../mendes-macros", optional = true } mime_guess = { version = "2.0.3", default-features = false, optional = true } percent-encoding = { version = "2.1.0", default-features = false, optional = true } pin-project = { version = "1.1.5", optional = true } postcard = { version = "1.0.6", default-features = false, features = ["use-std"], optional = true } ring = { version = "0.17.0", optional = true } serde = { version = "1.0.104", optional = true } serde_json = { version = "1.0.48", optional = true } serde_urlencoded = { version = "0.7.0", optional = true } thiserror = { version = "1.0.20" } tokio = { version = "1", optional = true } tokio-util = { version = "0.7", optional = true, features = ["codec", "compat", "io"] } tracing = { version = "0.1.26", optional = true } [dev-dependencies] serde = { version = "1.0.104", features = ["derive"] } reqwest = { version = "0.12", default-features = false } tokio = { version = "1", features = ["macros", "rt"] } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]