[package] name = "axum" version = "0.3.0" authors = ["David Pedersen "] 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" [workspace] members = ["examples/*"] [features] default = ["http1", "json", "tower-log"] http1 = ["hyper/http1"] http2 = ["hyper/http2"] json = ["serde_json", "mime"] multipart = ["multer", "mime"] tower-log = ["tower/log"] ws = ["tokio-tungstenite", "sha-1", "base64"] [dependencies] async-trait = "0.1.43" bitflags = "1.0" bytes = "1.0" futures-util = { version = "0.3", default-features = false, features = ["alloc"] } http = "0.2" http-body = "0.4.3" hyper = { version = "0.14", features = ["server", "tcp", "stream"] } matchit = "0.4" 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"] } tokio-util = "0.6" tower = { version = "0.4", default-features = false, features = ["util", "buffer", "make"] } tower-http = { version = "0.1", features = ["add-extension", "map-response-body"] } tower-layer = "0.3" tower-service = "0.3" # optional dependencies base64 = { optional = true, version = "0.13" } headers = { optional = true, version = "0.3" } mime = { optional = true, version = "0.3" } multer = { optional = true, version = "2.0.0" } serde_json = { version = "1.0", optional = true } sha-1 = { optional = true, version = "0.9.6" } tokio-tungstenite = { optional = true, version = "0.15" } [dev-dependencies] futures = "0.3" reqwest = { version = "0.11", 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"] } tokio-stream = "0.1" uuid = { version = "0.8", features = ["serde", "v4"] } [dev-dependencies.tower] package = "tower" version = "0.4" features = [ "util", "timeout", "limit", "load-shed", "steer", "filter", ] [dev-dependencies.tower-http] version = "0.1" features = ["full"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.playground] features = [ "http1", "http2", "json", "multipart", "tower", "ws", ]