[package]
name = "axum"
version = "0.4.8"
categories = ["asynchronous", "network-programming", "web-programming"]
description = "Web framework that focuses on ergonomics and modularity"
edition = "2018"
homepage = "https://github.com/tokio-rs/axum"
keywords = ["http", "web", "framework"]
license = "MIT"
readme = "README.md"
repository = "https://github.com/tokio-rs/axum"
[features]
default = ["http1", "json", "tower-log"]
http1 = ["hyper/http1"]
http2 = ["hyper/http2"]
json = ["serde_json"]
multipart = ["multer"]
tower-log = ["tower/log"]
ws = ["tokio-tungstenite", "sha-1", "base64"]
[dependencies]
axum-core = { path = "../axum-core", version = "0.1.1" }
async-trait = "0.1.43"
bitflags = "1.0"
bytes = "1.0"
futures-util = { version = "0.3", default-features = false, features = ["alloc"] }
http = "0.2.5"
http-body = "0.4.4"
mime = "0.3.16"
hyper = { version = "0.14.14", features = ["server", "tcp", "stream"] }
matchit = "0.4.6"
memchr = "2.4.1"
percent-encoding = "2.1"
pin-project-lite = "0.2.7"
serde = "1.0"
serde_urlencoded = "0.7"
sync_wrapper = "0.1.1"
tokio = { version = "1", features = ["time"] }
tower = { version = "0.4.11", default-features = false, features = ["util", "buffer", "make"] }
tower-http = { version = "0.2.0", features = ["util", "map-response-body"] }
tower-layer = "0.3"
tower-service = "0.3"
base64 = { optional = true, version = "0.13" }
headers = { optional = true, version = "0.3" }
multer = { optional = true, version = "2.0.0" }
serde_json = { version = "1.0", optional = true, features = ["raw_value"] }
sha-1 = { optional = true, version = "0.10" }
tokio-tungstenite = { optional = true, version = "0.16" }
[dev-dependencies]
futures = "0.3"
reqwest = { version = "0.11", default-features = false, features = ["json", "stream"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1.6.1", features = ["macros", "rt", "rt-multi-thread", "net", "test-util"] }
tokio-stream = "0.1"
tracing = "0.1"
uuid = { version = "0.8", features = ["serde", "v4"] }
anyhow = "1.0"
[dev-dependencies.tower]
package = "tower"
version = "0.4.10"
features = [
"util",
"timeout",
"limit",
"load-shed",
"steer",
"filter",
]
[dev-dependencies.tower-http]
version = "0.2.0"
features = ["full"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.playground]
features = [
"http1",
"http2",
"json",
"multipart",
"ws",
]