[dependencies.anyhow]
optional = true
version = "1.0.0"
[dependencies.async-compression]
features = ["tokio", "gzip", "brotli", "deflate"]
optional = true
version = "0.4.0"
[dependencies.base64]
optional = true
version = "0.22.0"
[dependencies.bytes]
version = "1.1.0"
[dependencies.chrono]
default-features = false
features = ["clock"]
optional = true
version = "0.4.31"
[dependencies.eyre06]
optional = true
package = "eyre"
version = "0.6.12"
[dependencies.fluent]
optional = true
version = "0.16.0"
[dependencies.fluent-langneg]
optional = true
version = "0.13.0"
[dependencies.fluent-syntax]
optional = true
version = "0.11.0"
[dependencies.futures-util]
features = ["sink"]
version = "0.3.17"
[dependencies.headers]
version = "0.4.0"
[dependencies.hex]
optional = true
version = "0.4"
[dependencies.http]
version = "1.0.0"
[dependencies.http-body-util]
version = "0.1.0"
[dependencies.httpdate]
optional = true
version = "1.0.2"
[dependencies.hyper]
features = ["http1", "http2"]
version = "1.0.0"
[dependencies.hyper-util]
features = ["server-auto", "tokio"]
version = "0.1.6"
[dependencies.intl-memoizer]
optional = true
version = "0.5.1"
[dependencies.libcookie]
features = ["percent-encode", "private", "signed", "key-expansion", "secure"]
optional = true
package = "cookie"
version = "0.18"
[dependencies.libcsrf]
optional = true
package = "csrf"
version = "0.4.1"
[dependencies.libopentelemetry]
features = ["metrics"]
optional = true
package = "opentelemetry"
version = "0.24.0"
[dependencies.libprometheus]
optional = true
package = "prometheus"
version = "0.13.0"
[dependencies.libtempfile]
optional = true
package = "tempfile"
version = "3.2.0"
[dependencies.mime]
version = "0.3.16"
[dependencies.mime_guess]
optional = true
version = "2.0.3"
[dependencies.multer]
features = ["tokio"]
optional = true
version = "3.0.0"
[dependencies.openssl]
optional = true
version = "0.10.66"
[dependencies.opentelemetry-http]
optional = true
version = "0.13.0"
[dependencies.opentelemetry-prometheus]
optional = true
version = "0.17.0"
[dependencies.opentelemetry-semantic-conventions]
optional = true
version = "0.16.0"
[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 = "3.1.0"
[dependencies.priority-queue]
optional = true
version = "2.0.2"
[dependencies.quick-xml]
features = ["serialize"]
optional = true
version = "0.36.1"
[dependencies.rand]
optional = true
version = "0.8.4"
[dependencies.rcgen]
optional = true
version = "0.12.0"
[dependencies.redis]
features = ["aio", "tokio-comp", "connection-manager"]
optional = true
version = "0.27"
[dependencies.regex]
version = "1.5.5"
[dependencies.reqwest]
default-features = false
features = ["json"]
optional = true
version = "0.12.2"
[dependencies.rfc7239]
version = "0.1.0"
[dependencies.ring]
optional = true
version = "0.17.7"
[dependencies.rust-embed]
optional = true
version = "8.0"
[dependencies.rustls-pemfile]
optional = true
version = "2.0.0"
[dependencies.serde]
features = ["derive"]
version = "1.0.130"
[dependencies.serde_json]
version = "1.0.68"
[dependencies.serde_urlencoded]
version = "0.7.1"
[dependencies.serde_yaml]
optional = true
version = "0.9"
[dependencies.smallvec]
version = "1.6.1"
[dependencies.sonic-rs]
optional = true
version = "0.3.5"
[dependencies.sse-codec]
optional = true
version = "0.3.2"
[dependencies.sync_wrapper]
features = ["futures"]
version = "1.0.0"
[dependencies.thiserror]
version = "1.0.30"
[dependencies.time]
optional = true
version = "0.3"
[dependencies.tokio]
features = ["sync", "time", "macros", "net"]
version = "1.39.1"
[dependencies.tokio-metrics]
optional = true
version = "0.3.0"
[dependencies.tokio-native-tls]
optional = true
version = "0.3.0"
[dependencies.tokio-openssl]
optional = true
version = "0.6.3"
[dependencies.tokio-rustls]
optional = true
version = "0.25.0"
[dependencies.tokio-stream]
optional = true
version = "0.1.8"
[dependencies.tokio-tungstenite]
optional = true
version = "0.23.1"
[dependencies.tokio-util]
features = ["io"]
version = "0.7.0"
[dependencies.tower]
default-features = false
features = ["util", "buffer"]
optional = true
version = "0.4.8"
[dependencies.tracing]
version = "0.1.36"
[dependencies.unic-langid]
features = ["macros"]
optional = true
version = "0.9.0"
[dependencies.uuid]
default-features = false
features = ["v4"]
optional = true
version = "1.8.0"
[dependencies.wildmatch]
version = "2"
[dependencies.x509-parser]
optional = true
version = "0.16.0"
[dev-dependencies.async-stream]
version = "0.3.2"
[dev-dependencies.tokio]
features = ["rt-multi-thread", "macros"]
version = "1.39.1"
[features]
acme = ["acme-native-roots"]
acme-base = ["server", "reqwest", "rustls", "ring", "base64", "rcgen", "x509-parser", "chrono"]
acme-native-roots = ["acme-base", "reqwest/rustls-tls-native-roots"]
acme-webpki-roots = ["acme-base", "reqwest/rustls-tls-webpki-roots"]
compression = ["async-compression"]
cookie = ["libcookie", "chrono", "time"]
csrf = ["cookie", "base64", "libcsrf"]
default = ["server"]
embed = ["rust-embed", "hex", "mime_guess"]
i18n = ["fluent", "fluent-langneg", "fluent-syntax", "unic-langid", "intl-memoizer"]
multipart = ["multer"]
native-tls = ["server", "tokio-native-tls"]
openssl-tls = ["server", "tokio-openssl", "openssl"]
opentelemetry = ["libopentelemetry", "opentelemetry-http", "opentelemetry-semantic-conventions"]
prometheus = ["libopentelemetry", "opentelemetry-prometheus", "libprometheus"]
redis-session = ["session", "redis"]
requestid = ["dep:uuid"]
rustls = ["server", "tokio-rustls", "rustls-pemfile"]
server = ["tokio/rt", "tokio/net", "hyper/server"]
session = ["tokio/rt", "cookie", "rand", "priority-queue", "base64"]
sonic-rs = ["dep:sonic-rs"]
sse = ["tokio-stream"]
static-files = ["httpdate", "mime_guess", "tokio/io-util", "tokio/fs"]
tempfile = ["libtempfile", "tokio/fs"]
test = ["sse", "sse-codec", "tokio-util/compat"]
tower-compat = ["tokio/rt", "tower"]
websocket = ["tokio/rt", "tokio-tungstenite", "base64"]
xml = ["quick-xml"]
yaml = ["serde_yaml"]
[lib]
name = "poem"
path = "src/lib.rs"
[package]
authors = ["sunli <scott_s829@163.com>"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["network-programming", "asynchronous", "web-programming::http-server", "web-programming::websocket"]
description = "Poem is a full-featured and easy-to-use web framework with the Rust programming language."
documentation = "https://docs.rs/poem/"
edition = "2021"
homepage = "https://github.com/poem-web/poem"
keywords = ["http", "web", "framework", "async"]
license = "MIT OR Apache-2.0"
name = "poem"
readme = "README.md"
repository = "https://github.com/poem-web/poem"
rust-version = "1.81"
version = "3.1.4"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[target."cfg(unix)".dependencies.nix]
features = ["fs", "user"]
version = "0.29.0"