• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[package]
2name = "axum"
3version = "0.6.20"
4categories = ["asynchronous", "network-programming", "web-programming::http-server"]
5description = "Web framework that focuses on ergonomics and modularity"
6edition = "2021"
7rust-version = "1.63"
8homepage = "https://github.com/tokio-rs/axum"
9keywords = ["http", "web", "framework"]
10license = "MIT"
11readme = "README.md"
12repository = "https://github.com/tokio-rs/axum"
13
14[features]
15default = ["form", "http1", "json", "matched-path", "original-uri", "query", "tokio", "tower-log"]
16form = ["dep:serde_urlencoded"]
17http1 = ["hyper/http1"]
18http2 = ["hyper/http2"]
19json = ["dep:serde_json", "dep:serde_path_to_error"]
20macros = ["dep:axum-macros"]
21matched-path = []
22multipart = ["dep:multer"]
23original-uri = []
24query = ["dep:serde_urlencoded"]
25tokio = ["dep:tokio", "hyper/server", "hyper/tcp", "hyper/runtime", "tower/make"]
26tower-log = ["tower/log"]
27tracing = ["dep:tracing", "axum-core/tracing"]
28ws = ["tokio", "dep:tokio-tungstenite", "dep:sha1", "dep:base64"]
29
30# Required for intra-doc links to resolve correctly
31__private_docs = ["tower/full", "dep:tower-http"]
32
33[dependencies]
34async-trait = "0.1.67"
35axum-core = { path = "../axum-core", version = "0.3.4" }
36bitflags = "1.0"
37bytes = "1.0"
38futures-util = { version = "0.3", default-features = false, features = ["alloc"] }
39http = "0.2.9"
40http-body = "0.4.4"
41hyper = { version = "0.14.24", features = ["stream"] }
42itoa = "1.0.5"
43matchit = "0.7"
44memchr = "2.4.1"
45mime = "0.3.16"
46percent-encoding = "2.1"
47pin-project-lite = "0.2.7"
48serde = "1.0"
49sync_wrapper = "0.1.1"
50tower = { version = "0.4.13", default-features = false, features = ["util"] }
51tower-layer = "0.3.2"
52tower-service = "0.3"
53
54# optional dependencies
55axum-macros = { path = "../axum-macros", version = "0.3.8", optional = true }
56base64 = { version = "0.21.0", optional = true }
57headers = { version = "0.3.7", optional = true }
58multer = { version = "2.0.0", optional = true }
59serde_json = { version = "1.0", features = ["raw_value"], optional = true }
60serde_path_to_error = { version = "0.1.8", optional = true }
61serde_urlencoded = { version = "0.7", optional = true }
62sha1 = { version = "0.10", optional = true }
63tokio = { package = "tokio", version = "1.25.0", features = ["time"], optional = true }
64tokio-tungstenite = { version = "0.20", optional = true }
65tracing = { version = "0.1", default-features = false, optional = true }
66
67[dependencies.tower-http]
68version = "0.4"
69optional = true
70features = [
71    # all tower-http features except (de)?compression-zstd which doesn't
72    # build on `--target armv5te-unknown-linux-musleabi`
73    "add-extension",
74    "auth",
75    "catch-panic",
76    "compression-br",
77    "compression-deflate",
78    "compression-gzip",
79    "cors",
80    "decompression-br",
81    "decompression-deflate",
82    "decompression-gzip",
83    "follow-redirect",
84    "fs",
85    "limit",
86    "map-request-body",
87    "map-response-body",
88    "metrics",
89    "normalize-path",
90    "propagate-header",
91    "redirect",
92    "request-id",
93    "sensitive-headers",
94    "set-header",
95    "set-status",
96    "timeout",
97    "trace",
98    "util",
99    "validate-request",
100]
101
102[build-dependencies]
103rustversion = "1.0.9"
104
105[dev-dependencies]
106anyhow = "1.0"
107axum-macros = { path = "../axum-macros", version = "0.3.8", features = ["__private"] }
108quickcheck = "1.0"
109quickcheck_macros = "1.0"
110reqwest = { version = "0.11.14", default-features = false, features = ["json", "stream", "multipart"] }
111rustversion = "1.0.9"
112serde = { version = "1.0", features = ["derive"] }
113serde_json = "1.0"
114time = { version = "0.3", features = ["serde-human-readable"] }
115tokio = { package = "tokio", version = "1.25.0", features = ["macros", "rt", "rt-multi-thread", "net", "test-util"] }
116tokio-stream = "0.1"
117tracing = "0.1"
118tracing-subscriber = { version = "0.3", features = ["json"] }
119uuid = { version = "1.0", features = ["serde", "v4"] }
120
121[package.metadata.docs.rs]
122all-features = true
123rustdoc-args = ["--cfg", "docsrs"]
124
125[dev-dependencies.tower]
126package = "tower"
127version = "0.4.10"
128features = [
129    "util",
130    "timeout",
131    "limit",
132    "load-shed",
133    "steer",
134    "filter",
135]
136
137[dev-dependencies.tower-http]
138version = "0.4"
139features = [
140    # all tower-http features except (de)?compression-zstd which doesn't
141    # build on `--target armv5te-unknown-linux-musleabi`
142    "add-extension",
143    "auth",
144    "catch-panic",
145    "compression-br",
146    "compression-deflate",
147    "compression-gzip",
148    "cors",
149    "decompression-br",
150    "decompression-deflate",
151    "decompression-gzip",
152    "follow-redirect",
153    "fs",
154    "limit",
155    "map-request-body",
156    "map-response-body",
157    "metrics",
158    "normalize-path",
159    "propagate-header",
160    "redirect",
161    "request-id",
162    "sensitive-headers",
163    "set-header",
164    "set-status",
165    "timeout",
166    "trace",
167    "util",
168    "validate-request",
169]
170
171[package.metadata.playground]
172features = [
173    "http1",
174    "http2",
175    "json",
176    "multipart",
177    "ws",
178]
179
180[package.metadata.cargo-public-api-crates]
181allowed = [
182    "async_trait",
183    "axum_core",
184    "axum_macros",
185    "bytes",
186    "futures_core",
187    "futures_sink",
188    "futures_util",
189    "headers",
190    "headers_core",
191    "http",
192    "http_body",
193    "hyper",
194    "serde",
195    "serde_json",
196    "tower_layer",
197    "tower_service",
198]
199
200[[bench]]
201name = "benches"
202harness = false
203