# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" rust-version = "1.75" name = "axum" version = "0.8.4" build = false autolib = false autobins = false autoexamples = false autotests = false autobenches = false description = "Web framework that focuses on ergonomics and modularity" homepage = "https://github.com/tokio-rs/axum" readme = "README.md" keywords = [ "http", "web", "framework", ] categories = [ "asynchronous", "network-programming", "web-programming::http-server", ] license = "MIT" repository = "https://github.com/tokio-rs/axum" [package.metadata.cargo-public-api-crates] allowed = [ "axum_core", "axum_macros", "futures_core", "futures_sink", "futures_util", "pin_project_lite", "tower_layer", "tower_service", "bytes", "http", "http_body", "serde", "tokio", "reqwest", ] [package.metadata.docs.rs] all-features = true [package.metadata.playground] features = [ "http1", "http2", "json", "multipart", "ws", ] [features] __private = [ "tokio", "http1", "dep:reqwest", ] __private_docs = [ "axum-core/__private_docs", "tower/full", "dep:tower-http", ] default = [ "form", "http1", "json", "matched-path", "original-uri", "query", "tokio", "tower-log", "tracing", ] form = [ "dep:form_urlencoded", "dep:serde_urlencoded", "dep:serde_path_to_error", ] http1 = [ "dep:hyper", "hyper?/http1", "hyper-util?/http1", ] http2 = [ "dep:hyper", "hyper?/http2", "hyper-util?/http2", ] json = [ "dep:serde_json", "dep:serde_path_to_error", ] macros = ["dep:axum-macros"] matched-path = [] multipart = ["dep:multer"] original-uri = [] query = [ "dep:form_urlencoded", "dep:serde_urlencoded", "dep:serde_path_to_error", ] tokio = [ "dep:hyper-util", "dep:tokio", "tokio/net", "tokio/rt", "tower/make", "tokio/macros", ] tower-log = ["tower/log"] tracing = [ "dep:tracing", "axum-core/tracing", ] ws = [ "dep:hyper", "tokio", "dep:tokio-tungstenite", "dep:sha1", "dep:base64", ] [lib] name = "axum" path = "src/lib.rs" [[test]] name = "panic_location" path = "tests/panic_location.rs" [[bench]] name = "benches" path = "benches/benches.rs" harness = false [dependencies.axum-core] version = "0.5.2" [dependencies.axum-macros] version = "0.5.0" optional = true [dependencies.base64] version = "0.22.1" optional = true [dependencies.bytes] version = "1.0" [dependencies.form_urlencoded] version = "1.1.0" optional = true [dependencies.futures-util] version = "0.3" features = ["alloc"] default-features = false [dependencies.http] version = "1.0.0" [dependencies.http-body] version = "1.0.0" [dependencies.http-body-util] version = "0.1.0" [dependencies.hyper] version = "1.1.0" optional = true [dependencies.hyper-util] version = "0.1.3" features = [ "tokio", "server", "service", ] optional = true [dependencies.itoa] version = "1.0.5" [dependencies.matchit] version = "=0.8.4" [dependencies.memchr] version = "2.4.1" [dependencies.mime] version = "0.3.16" [dependencies.multer] version = "3.0.0" optional = true [dependencies.percent-encoding] version = "2.1" [dependencies.pin-project-lite] version = "0.2.7" [dependencies.reqwest] version = "0.12" features = [ "json", "stream", "multipart", ] optional = true default-features = false [dependencies.rustversion] version = "1.0.9" [dependencies.serde] version = "1.0" [dependencies.serde_json] version = "1.0" features = ["raw_value"] optional = true [dependencies.serde_path_to_error] version = "0.1.8" optional = true [dependencies.serde_urlencoded] version = "0.7" optional = true [dependencies.sha1] version = "0.10" optional = true [dependencies.sync_wrapper] version = "1.0.0" [dependencies.tokio] version = "1.44" features = ["time"] optional = true package = "tokio" [dependencies.tokio-tungstenite] version = "0.26.0" optional = true [dependencies.tower] version = "0.5.2" features = ["util"] default-features = false [dependencies.tower-http] version = "0.6.0" features = [ "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", ] optional = true [dependencies.tower-layer] version = "0.3.2" [dependencies.tower-service] version = "0.3" [dependencies.tracing] version = "0.1" optional = true default-features = false [dev-dependencies.anyhow] version = "1.0" [dev-dependencies.hyper] version = "1.1.0" features = ["client"] [dev-dependencies.quickcheck] version = "1.0" [dev-dependencies.quickcheck_macros] version = "1.0" [dev-dependencies.reqwest] version = "0.12" features = [ "json", "stream", "multipart", ] default-features = false [dev-dependencies.serde] version = "1.0" features = ["derive"] [dev-dependencies.serde_json] version = "1.0" features = ["raw_value"] [dev-dependencies.time] version = "0.3" features = ["serde-human-readable"] [dev-dependencies.tokio] version = "1.44.2" features = [ "macros", "rt", "rt-multi-thread", "net", "test-util", ] package = "tokio" [dev-dependencies.tokio-stream] version = "0.1" [dev-dependencies.tokio-tungstenite] version = "0.26.0" [dev-dependencies.tower] version = "0.5.2" features = [ "util", "timeout", "limit", "load-shed", "steer", "filter", ] package = "tower" [dev-dependencies.tower-http] version = "0.6.0" features = [ "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", ] [dev-dependencies.tracing] version = "0.1" [dev-dependencies.tracing-subscriber] version = "0.3" features = ["json"] [dev-dependencies.uuid] version = "1.0" features = [ "serde", "v4", ] [lints.clippy] await_holding_lock = "warn" dbg_macro = "warn" empty_enum = "warn" enum_glob_use = "warn" exit = "warn" filter_map_next = "warn" fn_params_excessive_bools = "warn" if_let_mutex = "warn" imprecise_flops = "warn" inefficient_to_string = "warn" linkedlist = "warn" lossy_float_literal = "warn" macro_use_imports = "warn" match_on_vec_items = "warn" match_wildcard_for_single_variants = "warn" mem_forget = "warn" needless_borrow = "warn" needless_continue = "warn" option_option = "warn" rest_pat_in_fully_bound_structs = "warn" str_to_string = "warn" suboptimal_flops = "warn" todo = "warn" type_complexity = "allow" uninlined_format_args = "warn" unnested_or_patterns = "warn" unused_self = "warn" verbose_file_reads = "warn" [lints.rust] missing_debug_implementations = "warn" missing_docs = "warn" unreachable_pub = "warn" unsafe_code = "forbid" [lints.rust.rust_2018_idioms] level = "warn" priority = -1