[package]
name = "poem"
version = "0.3.2"
authors = ["sunli <scott_s829@163.com>"]
edition = "2018"
description = "Poem is a full-featured and easy-to-use web framework with the Rust programming language."
license = "MIT/Apache-2.0"
documentation = "https://docs.rs/poem/"
homepage = "https://github.com/poem-web/poem"
repository = "https://github.com/poem-web/poem"
keywords = ["http", "web", "framework", "async"]
categories = [
"network-programming",
"asynchronous",
"web-programming::http-server",
"web-programming::websocket",
]
[workspace]
members = [
"derive"
]
[features]
default = []
websocket = ["tokio-tungstenite"]
multipart = ["multer"]
tls = ["tokio-rustls"]
sse = []
compression = ["async-compression"]
[dependencies]
poem-derive = { path = "derive", version = "0.3.0" }
async-trait = "0.1.51"
bytes = "1.0.1"
futures-util = { version = "0.3.16", features = ["sink"] }
http = "0.2.4"
hyper = { version = "0.14.11", features = ["http1", "http2", "server", "runtime", "stream"] }
mime = "0.3.16"
tokio = { version = "1.10.0", features = ["sync", "rt", "net", "fs", "time"] }
tokio-util = { version = "0.6.7", features = ["io"] }
serde = { version = "1.0.127", features = ["derive"] }
serde_json = "1.0.66"
serde_urlencoded = "0.7.0"
sha1 = "0.6.0"
base64 = "0.13.0"
tokio-stream = "0.1.7"
cookie = { version = "0.15.1", features = ["percent-encode"] }
parking_lot = "0.11.1"
askama = "0.10.5"
multer = { version = "2.0.1", features = ["tokio"], optional = true }
tokio-tungstenite = { version = "0.15.0", optional = true }
tokio-rustls = { version = "0.22.0", optional = true }
async-compression = { version = "0.3.8", optional = true, features = ["tokio", "gzip", "brotli", "deflate"] }
typed-headers = { version = "0.2.0", optional = true }
tracing = { version = "0.1.26", optional = true }
tempfile = { version = "3.2.0", optional = true }
[dev-dependencies]
tokio = { version = "1.10.0", features = ["rt-multi-thread", "macros"] }
async-graphql = "2.9.10"
slab = "0.4.4"
tracing-subscriber = "0.2.20"
derive_more = "0.99.16"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[[example]]
name = "tracing"
required-features = ["tracing"]
[[example]]
name = "sse"
required-features = ["sse"]
[[example]]
name = "chat"
required-features = ["websocket"]