# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "poem"
version = "1.2.59"
authors = ["sunli <scott_s829@163.com>"]
description = "Poem is a full-featured and easy-to-use web framework with the Rust programming language."
homepage = "https://github.com/poem-web/poem"
documentation = "https://docs.rs/poem/"
readme = "README.md"
keywords = ["http", "web", "framework", "async"]
categories = ["network-programming", "asynchronous", "web-programming::http-server", "web-programming::websocket"]
license = "MIT/Apache-2.0"
repository = "https://github.com/poem-web/poem"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies.anyhow]
version = "1.0.0"
optional = true

[dependencies.async-compression]
version = "0.3.8"
features = ["tokio", "gzip", "brotli", "deflate"]
optional = true

[dependencies.async-trait]
version = "0.1.51"

[dependencies.base64]
version = "0.13.0"
optional = true

[dependencies.bytes]
version = "1.1.0"

[dependencies.chrono]
version = "0.4.19"
optional = true

[dependencies.eyre06]
version = "0.6"
optional = true
package = "eyre"

[dependencies.fluent]
version = "0.16.0"
optional = true

[dependencies.fluent-langneg]
version = "0.13.0"
optional = true

[dependencies.fluent-syntax]
version = "0.11.0"
optional = true

[dependencies.futures-util]
version = "0.3.17"
features = ["sink"]

[dependencies.headers]
version = "0.3.4"

[dependencies.http]
version = "0.2.5"

[dependencies.httpdate]
version = "1.0.2"
optional = true

[dependencies.hyper]
version = "0.14.17"
features = ["http1", "http2", "server", "runtime", "stream"]

[dependencies.intl-memoizer]
version = "0.5.1"
optional = true

[dependencies.libcookie]
version = "0.16"
features = ["percent-encode", "private", "signed", "key-expansion", "secure"]
optional = true
package = "cookie"

[dependencies.libcsrf]
version = "0.4.1"
optional = true
package = "csrf"

[dependencies.libopentelemetry]
version = "0.16.0"
features = ["metrics"]
optional = true
package = "opentelemetry"

[dependencies.libprometheus]
version = "0.12.0"
optional = true
package = "prometheus"

[dependencies.libtempfile]
version = "3.2.0"
optional = true
package = "tempfile"

[dependencies.mime]
version = "0.3.16"
optional = true

[dependencies.mime_guess]
version = "2.0.3"
optional = true

[dependencies.multer]
version = "2.0.1"
features = ["tokio"]
optional = true

[dependencies.opentelemetry-http]
version = "0.5.0"
optional = true

[dependencies.opentelemetry-prometheus]
version = "0.9.0"
optional = true

[dependencies.opentelemetry-semantic-conventions]
version = "0.8.0"
optional = true

[dependencies.parking_lot]
version = "0.12.0"

[dependencies.percent-encoding]
version = "2.1.0"

[dependencies.pin-project-lite]
version = "0.2.7"

[dependencies.poem-derive]
version = "1.2.59"

[dependencies.priority-queue]
version = "1.2.0"
optional = true

[dependencies.rand]
version = "0.8.4"
optional = true

[dependencies.redis]
version = "0.21.2"
features = ["aio", "tokio-comp", "connection-manager"]
optional = true

[dependencies.regex]
version = "1.5.4"

[dependencies.rustls-pemfile]
version = "0.2.1"
optional = true

[dependencies.serde]
version = "1.0.130"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.68"

[dependencies.serde_urlencoded]
version = "0.7.0"

[dependencies.sha1]
version = "0.6.0"
optional = true

[dependencies.smallvec]
version = "1.6.1"

[dependencies.sse-codec]
version = "0.3.2"
optional = true

[dependencies.thiserror]
version = "1.0.30"

[dependencies.time]
version = "0.3"
optional = true

[dependencies.tokio]
version = "1.17.0"
features = ["sync", "rt", "net", "time", "macros"]

[dependencies.tokio-native-tls]
version = "0.3.0"
optional = true

[dependencies.tokio-rustls]
version = "0.23.2"
optional = true

[dependencies.tokio-stream]
version = "0.1.7"

[dependencies.tokio-tungstenite]
version = "0.15.0"
optional = true

[dependencies.tokio-util]
version = "0.6.9"
features = ["io"]

[dependencies.tower]
version = "0.4.8"
features = ["util", "buffer"]
optional = true
default-features = true

[dependencies.tracing]
version = "0.1.29"

[dependencies.typed-headers]
version = "0.2.0"
optional = true

[dependencies.unic-langid]
version = "0.9.0"
features = ["macros"]
optional = true
[dev-dependencies.async-stream]
version = "0.3.2"

[dev-dependencies.tokio]
version = "1.12.0"
features = ["rt-multi-thread", "macros"]

[features]
compression = ["async-compression", "typed-headers"]
cookie = ["libcookie", "chrono", "time"]
csrf = ["cookie", "base64", "libcsrf"]
default = []
i18n = ["fluent", "fluent-langneg", "fluent-syntax", "unic-langid", "intl-memoizer"]
multipart = ["multer", "mime"]
native-tls = ["tokio-native-tls"]
opentelemetry = ["libopentelemetry", "opentelemetry-http", "opentelemetry-semantic-conventions"]
prometheus = ["libopentelemetry", "opentelemetry-prometheus", "libprometheus"]
redis-session = ["session", "redis"]
rustls = ["tokio-rustls", "rustls-pemfile"]
session = ["cookie", "rand", "priority-queue"]
sse = []
static-files = ["httpdate", "mime", "mime_guess", "tokio/io-util", "tokio/fs"]
tempfile = ["libtempfile", "tokio/fs"]
test = ["sse", "sse-codec", "tokio-util/compat", "mime"]
tower-compat = ["tower"]
websocket = ["tokio-tungstenite", "sha1", "base64"]
