mirror of
https://github.com/tokio-rs/axum.git
synced 2024-12-29 15:49:16 +01:00
3d07d40e02
As we learned [in Tonic] bodies don't need to be `Sync` because they can only be polled from one thread at a time. This changes axum's bodies to no longer require `Sync` and makes `BoxBody` an alias for `UnsyncBoxBody<Bytes, axum::Error>`. [in Tonic]: https://github.com/hyperium/tonic/issues/117
95 lines
2.5 KiB
TOML
95 lines
2.5 KiB
TOML
[package]
|
|
name = "axum"
|
|
version = "0.3.0"
|
|
authors = ["David Pedersen <david.pdrsn@gmail.com>"]
|
|
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.4"
|
|
hyper = { version = "0.14.14", features = ["server", "tcp", "stream"] }
|
|
matchit = "0.4.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.10", 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"
|
|
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.1"
|
|
features = ["full"]
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
[package.metadata.playground]
|
|
features = [
|
|
"http1",
|
|
"http2",
|
|
"json",
|
|
"multipart",
|
|
"tower",
|
|
"ws",
|
|
]
|