[package] categories = [ "web-programming", "web-programming::http-server", "network-programming", "asynchronous", ] description = "Host a HTTP and HTTPS server on the same port with `axum-server`" edition = "2021" include = ["CHANGELOG.md", "examples/**/*", "LICENSE-*", "src/**/*"] keywords = ["axum-server", "server", "web", "http", "https"] license = "MIT OR Apache-2.0" name = "axum-server-dual-protocol" repository = "https://github.com/daxpedda/axum-server-dual-protocol" rust-version = "1.66" version = "0.7.0" [features] default = ["rustls/aws-lc-rs"] [dependencies] axum-server = { version = "0.7.1", default-features = false, features = ["tls-rustls-no-provider"] } bytes = { version = "1", default-features = false } http = "1" http-body-util = "0.1" pin-project = "1" rustls = { version = "0.23", default-features = false } tokio = "1" tokio-rustls = { version = "0.26", default-features = false } tokio-util = "0.7.1" tower-layer = "0.3" tower-service = "0.3" [dev-dependencies] anyhow = "1" axum = { version = "0.7", default-features = false } futures-util = { version = "0.3", default-features = false } hyper = "1" rcgen = { version = "0.13", default-features = false, features = ["aws_lc_rs"] } reqwest = { version = "0.12", default-features = false, features = [ "rustls-tls-manual-roots-no-provider", ] } rustls = { version = "0.23", features = ["aws-lc-rs"] } tokio = { version = "1", features = ["macros", "rt-multi-thread"] } [patch.crates-io] rcgen = { git = "https://github.com/daxpedda/rcgen", branch = "aws-lc-rs-default-features" } [[test]] name = "util" path = "tests/util.rs" test = false [[example]] doc-scrape-examples = true name = "hello-world" [package.metadata.docs.rs] targets = [] [lints.rust] # Rust groups. future_incompatible = { level = "warn", priority = -1 } rust_2018_compatibility = { level = "warn", priority = -1 } rust_2018_idioms = { level = "warn", priority = -1 } rust_2021_compatibility = { level = "warn", priority = -1 } unused = { level = "warn", priority = -1 } # Rust lints. deprecated_in_future = "warn" ffi_unwind_calls = "warn" macro_use_extern_crate = "warn" meta_variable_misuse = "warn" missing_abi = "warn" missing_copy_implementations = "warn" missing_debug_implementations = "warn" missing_docs = "warn" non_ascii_idents = "warn" redundant_lifetimes = "warn" single_use_lifetimes = "warn" trivial_casts = "warn" trivial_numeric_casts = "warn" unnameable_types = "warn" unreachable_pub = "warn" unsafe_code = "deny" unsafe_op_in_unsafe_fn = "warn" unused_import_braces = "warn" unused_lifetimes = "warn" unused_qualifications = "warn" [lints.clippy] # Clippy groups. cargo = { level = "warn", priority = -1 } nursery = { level = "warn", priority = -1 } pedantic = { level = "warn", priority = -1 } # Clippy restriction lints. absolute_paths = "warn" allow_attributes = "warn" allow_attributes_without_reason = "warn" as_conversions = "warn" assertions_on_result_states = "warn" clone_on_ref_ptr = "warn" create_dir = "warn" dbg_macro = "warn" decimal_literal_representation = "warn" default_union_representation = "warn" empty_drop = "warn" empty_enum_variants_with_brackets = "warn" empty_structs_with_brackets = "warn" error_impl_error = "warn" exit = "warn" filetype_is_file = "warn" float_cmp_const = "warn" fn_to_numeric_cast_any = "warn" format_push_string = "warn" get_unwrap = "warn" if_then_some_else_none = "warn" impl_trait_in_params = "warn" indexing_slicing = "warn" infinite_loop = "warn" large_include_file = "warn" lossy_float_literal = "warn" mem_forget = "warn" min_ident_chars = "warn" missing_assert_message = "warn" missing_asserts_for_indexing = "warn" missing_docs_in_private_items = "warn" mixed_read_write_in_expression = "warn" mutex_atomic = "warn" non_ascii_literal = "warn" partial_pub_fields = "warn" print_stderr = "warn" print_stdout = "warn" pub_without_shorthand = "warn" rc_buffer = "warn" rc_mutex = "warn" redundant_type_annotations = "warn" ref_patterns = "warn" renamed_function_params = "warn" rest_pat_in_fully_bound_structs = "warn" same_name_method = "warn" self_named_module_files = "warn" semicolon_outside_block = "warn" single_char_lifetime_names = "warn" str_to_string = "warn" string_add = "warn" string_lit_chars_any = "warn" string_slice = "warn" string_to_string = "warn" suspicious_xor_used_as_pow = "warn" todo = "warn" try_err = "warn" undocumented_unsafe_blocks = "warn" unimplemented = "warn" unnecessary_safety_doc = "warn" unnecessary_self_imports = "warn" unneeded_field_pattern = "warn" unseparated_literal_suffix = "warn" unwrap_used = "warn" use_debug = "warn" verbose_file_reads = "warn" # Allowed Clippy lints. equatable_if_let = "allow" explicit_deref_methods = "allow" future_not_send = "allow" module_inception = "allow" module_name_repetitions = "allow" option_if_let_else = "allow" redundant_pub_crate = "allow" tabs_in_doc_comments = "allow" [lints.rustdoc] all = { level = "warn", priority = -1 }