| macro_rules! cfg_feature { |
| ( |
| #![$meta:meta] |
| $($item:item)* |
| ) => { |
| $( |
| #[cfg($meta)] |
| #[cfg_attr(docsrs, doc(cfg($meta)))] |
| $item |
| )* |
| } |
| } |
| |
| macro_rules! cfg_proto { |
| ($($item:item)*) => { |
| cfg_feature! { |
| #![all( |
| any(feature = "http1", feature = "http2"), |
| any(feature = "client", feature = "server"), |
| )] |
| $($item)* |
| } |
| } |
| } |
| |
| cfg_proto! { |
| macro_rules! cfg_client { |
| ($($item:item)*) => { |
| cfg_feature! { |
| #![feature = "client"] |
| $($item)* |
| } |
| } |
| } |
| |
| macro_rules! cfg_server { |
| ($($item:item)*) => { |
| cfg_feature! { |
| #![feature = "server"] |
| $($item)* |
| } |
| } |
| } |
| } |