2021-11-03 12:38:48 +01:00
|
|
|
[package]
|
|
|
|
|
name = "axum"
|
2024-09-27 21:30:11 +02:00
|
|
|
version = "0.7.7"
|
2022-07-10 14:28:11 +02:00
|
|
|
categories = ["asynchronous", "network-programming", "web-programming::http-server"]
|
2021-11-03 12:38:48 +01:00
|
|
|
description = "Web framework that focuses on ergonomics and modularity"
|
2022-06-17 20:11:35 +02:00
|
|
|
edition = "2021"
|
2023-11-23 12:03:03 +01:00
|
|
|
rust-version = "1.66"
|
2021-11-03 12:38:48 +01:00
|
|
|
homepage = "https://github.com/tokio-rs/axum"
|
|
|
|
|
keywords = ["http", "web", "framework"]
|
|
|
|
|
license = "MIT"
|
|
|
|
|
readme = "README.md"
|
|
|
|
|
repository = "https://github.com/tokio-rs/axum"
|
|
|
|
|
|
|
|
|
|
[features]
|
2023-12-29 13:44:20 +01:00
|
|
|
default = [
|
|
|
|
|
"form",
|
|
|
|
|
"http1",
|
|
|
|
|
"json",
|
|
|
|
|
"matched-path",
|
|
|
|
|
"original-uri",
|
|
|
|
|
"query",
|
|
|
|
|
"tokio",
|
|
|
|
|
"tower-log",
|
|
|
|
|
"tracing",
|
|
|
|
|
]
|
2022-08-09 18:43:02 +02:00
|
|
|
form = ["dep:serde_urlencoded"]
|
2024-03-16 16:57:08 +01:00
|
|
|
http1 = ["dep:hyper", "hyper?/http1", "hyper-util?/http1"]
|
|
|
|
|
http2 = ["dep:hyper", "hyper?/http2", "hyper-util?/http2"]
|
2022-09-14 00:52:16 +09:00
|
|
|
json = ["dep:serde_json", "dep:serde_path_to_error"]
|
2022-08-09 18:43:02 +02:00
|
|
|
macros = ["dep:axum-macros"]
|
2022-01-03 16:28:33 +01:00
|
|
|
matched-path = []
|
2022-08-09 18:43:02 +02:00
|
|
|
multipart = ["dep:multer"]
|
2022-01-03 16:28:33 +01:00
|
|
|
original-uri = []
|
2022-08-09 18:43:02 +02:00
|
|
|
query = ["dep:serde_urlencoded"]
|
2023-12-29 12:17:58 +01:00
|
|
|
tokio = ["dep:hyper-util", "dep:tokio", "tokio/net", "tokio/rt", "tower/make", "tokio/macros"]
|
2021-11-03 12:38:48 +01:00
|
|
|
tower-log = ["tower/log"]
|
2023-04-11 16:57:49 +02:00
|
|
|
tracing = ["dep:tracing", "axum-core/tracing"]
|
2023-11-25 08:07:51 +09:00
|
|
|
ws = ["dep:hyper", "tokio", "dep:tokio-tungstenite", "dep:sha1", "dep:base64"]
|
2021-11-03 12:38:48 +01:00
|
|
|
|
2022-07-28 19:14:31 +02:00
|
|
|
# Required for intra-doc links to resolve correctly
|
2023-03-12 11:15:58 +01:00
|
|
|
__private_docs = ["tower/full", "dep:tower-http"]
|
2022-07-28 19:14:31 +02:00
|
|
|
|
2021-11-03 12:38:48 +01:00
|
|
|
[dependencies]
|
2023-03-18 20:23:27 +01:00
|
|
|
async-trait = "0.1.67"
|
2024-09-27 21:30:11 +02:00
|
|
|
axum-core = { path = "../axum-core", version = "0.4.5" }
|
2021-11-03 12:38:48 +01:00
|
|
|
bytes = "1.0"
|
|
|
|
|
futures-util = { version = "0.3", default-features = false, features = ["alloc"] }
|
2023-11-23 12:03:03 +01:00
|
|
|
http = "1.0.0"
|
|
|
|
|
http-body = "1.0.0"
|
|
|
|
|
http-body-util = "0.1.0"
|
2023-03-05 13:28:10 +00:00
|
|
|
itoa = "1.0.5"
|
2022-11-27 18:19:01 +09:00
|
|
|
matchit = "0.7"
|
2021-12-12 16:03:20 +00:00
|
|
|
memchr = "2.4.1"
|
2022-01-04 00:21:34 +00:00
|
|
|
mime = "0.3.16"
|
2021-11-03 12:38:48 +01:00
|
|
|
percent-encoding = "2.1"
|
|
|
|
|
pin-project-lite = "0.2.7"
|
2024-04-30 11:05:38 -04:00
|
|
|
rustversion = "1.0.9"
|
2021-11-03 12:38:48 +01:00
|
|
|
serde = "1.0"
|
2024-03-24 03:46:20 +09:00
|
|
|
sync_wrapper = "1.0.0"
|
2024-09-20 19:43:38 +02:00
|
|
|
tower = { version = "0.5.1", default-features = false, features = ["util"] }
|
2022-11-18 11:00:52 +01:00
|
|
|
tower-layer = "0.3.2"
|
2021-11-03 12:38:48 +01:00
|
|
|
tower-service = "0.3"
|
|
|
|
|
|
|
|
|
|
# optional dependencies
|
2024-09-20 21:17:41 +02:00
|
|
|
axum-macros = { path = "../axum-macros", version = "0.4.2", optional = true }
|
2024-09-24 21:50:53 +00:00
|
|
|
base64 = { version = "0.22.1", optional = true }
|
2023-12-29 12:17:58 +01:00
|
|
|
hyper = { version = "1.1.0", optional = true }
|
2024-06-09 20:18:03 +02:00
|
|
|
hyper-util = { version = "0.1.3", features = ["tokio", "server", "service"], optional = true }
|
2023-12-17 12:31:38 +01:00
|
|
|
multer = { version = "3.0.0", optional = true }
|
2022-06-10 16:57:53 +02:00
|
|
|
serde_json = { version = "1.0", features = ["raw_value"], optional = true }
|
2022-09-14 00:52:16 +09:00
|
|
|
serde_path_to_error = { version = "0.1.8", optional = true }
|
2022-02-22 10:12:24 +01:00
|
|
|
serde_urlencoded = { version = "0.7", optional = true }
|
2022-12-02 19:13:57 +09:00
|
|
|
sha1 = { version = "0.10", optional = true }
|
2023-02-27 10:40:03 -07:00
|
|
|
tokio = { package = "tokio", version = "1.25.0", features = ["time"], optional = true }
|
2024-09-24 21:50:53 +00:00
|
|
|
tokio-tungstenite = { version = "0.24.0", optional = true }
|
2023-04-11 16:57:49 +02:00
|
|
|
tracing = { version = "0.1", default-features = false, optional = true }
|
2023-03-12 11:15:58 +01:00
|
|
|
|
|
|
|
|
[dependencies.tower-http]
|
2024-09-20 19:43:38 +02:00
|
|
|
version = "0.6.0"
|
2023-03-12 11:15:58 +01:00
|
|
|
optional = true
|
|
|
|
|
features = [
|
|
|
|
|
# all tower-http features except (de)?compression-zstd which doesn't
|
|
|
|
|
# build on `--target armv5te-unknown-linux-musleabi`
|
|
|
|
|
"add-extension",
|
|
|
|
|
"auth",
|
|
|
|
|
"catch-panic",
|
|
|
|
|
"compression-br",
|
|
|
|
|
"compression-deflate",
|
|
|
|
|
"compression-gzip",
|
|
|
|
|
"cors",
|
|
|
|
|
"decompression-br",
|
|
|
|
|
"decompression-deflate",
|
|
|
|
|
"decompression-gzip",
|
|
|
|
|
"follow-redirect",
|
|
|
|
|
"fs",
|
|
|
|
|
"limit",
|
|
|
|
|
"map-request-body",
|
|
|
|
|
"map-response-body",
|
|
|
|
|
"metrics",
|
|
|
|
|
"normalize-path",
|
|
|
|
|
"propagate-header",
|
|
|
|
|
"redirect",
|
|
|
|
|
"request-id",
|
|
|
|
|
"sensitive-headers",
|
|
|
|
|
"set-header",
|
|
|
|
|
"set-status",
|
|
|
|
|
"timeout",
|
|
|
|
|
"trace",
|
|
|
|
|
"util",
|
|
|
|
|
"validate-request",
|
|
|
|
|
]
|
2021-11-03 12:38:48 +01:00
|
|
|
|
|
|
|
|
[dev-dependencies]
|
2022-06-10 08:59:17 +02:00
|
|
|
anyhow = "1.0"
|
2024-01-13 14:31:03 +01:00
|
|
|
axum-macros = { path = "../axum-macros", version = "0.4.1", features = ["__private"] }
|
2022-06-10 08:59:17 +02:00
|
|
|
quickcheck = "1.0"
|
|
|
|
|
quickcheck_macros = "1.0"
|
2024-03-29 15:34:56 +08:00
|
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "multipart"] }
|
2021-11-03 12:38:48 +01:00
|
|
|
serde = { version = "1.0", features = ["derive"] }
|
2024-10-17 16:49:39 +02:00
|
|
|
serde_json = { version = "1.0", features = ["raw_value"] }
|
2023-01-13 13:27:38 +01:00
|
|
|
time = { version = "0.3", features = ["serde-human-readable"] }
|
2023-02-27 10:40:03 -07:00
|
|
|
tokio = { package = "tokio", version = "1.25.0", features = ["macros", "rt", "rt-multi-thread", "net", "test-util"] }
|
2021-11-03 12:38:48 +01:00
|
|
|
tokio-stream = "0.1"
|
2024-09-24 21:50:53 +00:00
|
|
|
tokio-tungstenite = "0.24.0"
|
2021-11-03 12:38:48 +01:00
|
|
|
tracing = "0.1"
|
2023-04-11 16:57:49 +02:00
|
|
|
tracing-subscriber = { version = "0.3", features = ["json"] }
|
2022-05-05 13:48:49 +08:00
|
|
|
uuid = { version = "1.0", features = ["serde", "v4"] }
|
2022-06-10 08:59:17 +02:00
|
|
|
|
|
|
|
|
[package.metadata.docs.rs]
|
|
|
|
|
all-features = true
|
|
|
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
2021-11-03 12:38:48 +01:00
|
|
|
|
|
|
|
|
[dev-dependencies.tower]
|
|
|
|
|
package = "tower"
|
2024-09-20 19:43:38 +02:00
|
|
|
version = "0.5.1"
|
2021-11-03 12:38:48 +01:00
|
|
|
features = [
|
|
|
|
|
"util",
|
|
|
|
|
"timeout",
|
|
|
|
|
"limit",
|
|
|
|
|
"load-shed",
|
|
|
|
|
"steer",
|
|
|
|
|
"filter",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[dev-dependencies.tower-http]
|
2024-09-20 19:43:38 +02:00
|
|
|
version = "0.6.0"
|
2023-02-24 21:51:30 +01:00
|
|
|
features = [
|
|
|
|
|
# all tower-http features except (de)?compression-zstd which doesn't
|
|
|
|
|
# build on `--target armv5te-unknown-linux-musleabi`
|
|
|
|
|
"add-extension",
|
|
|
|
|
"auth",
|
|
|
|
|
"catch-panic",
|
|
|
|
|
"compression-br",
|
|
|
|
|
"compression-deflate",
|
|
|
|
|
"compression-gzip",
|
|
|
|
|
"cors",
|
|
|
|
|
"decompression-br",
|
|
|
|
|
"decompression-deflate",
|
|
|
|
|
"decompression-gzip",
|
|
|
|
|
"follow-redirect",
|
|
|
|
|
"fs",
|
|
|
|
|
"limit",
|
|
|
|
|
"map-request-body",
|
|
|
|
|
"map-response-body",
|
|
|
|
|
"metrics",
|
|
|
|
|
"normalize-path",
|
|
|
|
|
"propagate-header",
|
|
|
|
|
"redirect",
|
|
|
|
|
"request-id",
|
|
|
|
|
"sensitive-headers",
|
|
|
|
|
"set-header",
|
|
|
|
|
"set-status",
|
|
|
|
|
"timeout",
|
|
|
|
|
"trace",
|
|
|
|
|
"util",
|
|
|
|
|
"validate-request",
|
|
|
|
|
]
|
2021-11-03 12:38:48 +01:00
|
|
|
|
|
|
|
|
[package.metadata.playground]
|
|
|
|
|
features = [
|
2022-01-03 16:28:33 +01:00
|
|
|
"http1",
|
|
|
|
|
"http2",
|
|
|
|
|
"json",
|
|
|
|
|
"multipart",
|
|
|
|
|
"ws",
|
2021-11-03 12:38:48 +01:00
|
|
|
]
|
2022-08-11 10:52:23 +02:00
|
|
|
|
2023-02-16 22:41:41 +01:00
|
|
|
[package.metadata.cargo-public-api-crates]
|
|
|
|
|
allowed = [
|
2023-11-27 11:53:05 +01:00
|
|
|
# our crates
|
2023-02-16 22:41:41 +01:00
|
|
|
"axum_core",
|
2023-03-27 17:12:19 +02:00
|
|
|
"axum_macros",
|
2023-11-27 11:53:05 +01:00
|
|
|
|
|
|
|
|
# not 1.0
|
2023-02-16 22:41:41 +01:00
|
|
|
"futures_core",
|
|
|
|
|
"futures_sink",
|
|
|
|
|
"futures_util",
|
2023-11-27 11:53:05 +01:00
|
|
|
"tower_layer",
|
|
|
|
|
"tower_service",
|
|
|
|
|
|
|
|
|
|
# >=1.0
|
|
|
|
|
"async_trait",
|
|
|
|
|
"bytes",
|
2023-02-16 22:41:41 +01:00
|
|
|
"http",
|
|
|
|
|
"http_body",
|
|
|
|
|
"serde",
|
2023-03-22 23:42:14 +01:00
|
|
|
"tokio",
|
2023-02-16 22:41:41 +01:00
|
|
|
]
|
|
|
|
|
|
2022-08-11 10:52:23 +02:00
|
|
|
[[bench]]
|
|
|
|
|
name = "benches"
|
|
|
|
|
harness = false
|