1#![warn(
12 clippy::all,
13 clippy::dbg_macro,
14 clippy::todo,
15 clippy::empty_enum,
16 clippy::enum_glob_use,
17 clippy::mem_forget,
18 clippy::unused_self,
19 clippy::filter_map_next,
20 clippy::needless_continue,
21 clippy::needless_borrow,
22 clippy::match_wildcard_for_single_variants,
23 clippy::if_let_mutex,
24 clippy::await_holding_lock,
25 clippy::match_on_vec_items,
26 clippy::imprecise_flops,
27 clippy::suboptimal_flops,
28 clippy::lossy_float_literal,
29 clippy::rest_pat_in_fully_bound_structs,
30 clippy::fn_params_excessive_bools,
31 clippy::exit,
32 clippy::inefficient_to_string,
33 clippy::linkedlist,
34 clippy::macro_use_imports,
35 clippy::option_option,
36 clippy::verbose_file_reads,
37 clippy::unnested_or_patterns,
38 clippy::str_to_string,
39 rust_2018_idioms,
40 future_incompatible,
41 nonstandard_style,
42 missing_debug_implementations,
43 missing_docs
44)]
45#![deny(unreachable_pub)]
46#![allow(elided_lifetimes_in_paths, clippy::type_complexity)]
47#![forbid(unsafe_code)]
48#![cfg_attr(test, allow(clippy::float_cmp))]
49#![cfg_attr(not(test), warn(clippy::print_stdout, clippy::dbg_macro))]
50
51#[macro_use]
52pub(crate) mod macros;
53#[doc(hidden)] pub mod __private {
55 #[cfg(feature = "tracing")]
56 pub use tracing;
57}
58
59mod error;
60mod ext_traits;
61pub use self::error::Error;
62
63pub mod body;
64pub mod extract;
65pub mod response;
66
67pub type BoxError = Box<dyn std::error::Error + Send + Sync>;
69
70pub use self::ext_traits::{request::RequestExt, request_parts::RequestPartsExt};