|
3 | 3 | use async_std::io;
|
4 | 4 | use async_std::sync::Arc;
|
5 | 5 |
|
| 6 | +#[cfg(feature = "cookies")] |
6 | 7 | use crate::cookies;
|
7 | 8 | use crate::listener::{Listener, ToListener};
|
8 | 9 | use crate::log;
|
@@ -100,15 +101,28 @@ impl<State: Clone + Send + Sync + 'static> Server<State> {
|
100 | 101 | /// # Ok(()) }) }
|
101 | 102 | /// ```
|
102 | 103 | pub fn with_state(state: State) -> Self {
|
103 |
| - let mut server = Self { |
104 |
| - router: Arc::new(Router::new()), |
105 |
| - middleware: Arc::new(vec![]), |
106 |
| - state, |
107 |
| - }; |
108 |
| - server.with(cookies::CookiesMiddleware::new()); |
109 |
| - #[cfg(feature = "logger")] |
110 |
| - server.with(log::LogMiddleware::new()); |
111 |
| - server |
| 104 | + #[cfg(any(feature = "cookies", feature = "logger"))] |
| 105 | + { |
| 106 | + let mut server = Self { |
| 107 | + router: Arc::new(Router::new()), |
| 108 | + middleware: Arc::new(vec![]), |
| 109 | + state, |
| 110 | + }; |
| 111 | + #[cfg(feature = "cookies")] |
| 112 | + server.with(cookies::CookiesMiddleware::new()); |
| 113 | + #[cfg(feature = "logger")] |
| 114 | + server.with(log::LogMiddleware::new()); |
| 115 | + server |
| 116 | + } |
| 117 | + |
| 118 | + #[cfg(not(any(feature = "cookies", feature = "logger")))] |
| 119 | + { |
| 120 | + Self { |
| 121 | + router: Arc::new(Router::new()), |
| 122 | + middleware: Arc::new(vec![]), |
| 123 | + state, |
| 124 | + } |
| 125 | + } |
112 | 126 | }
|
113 | 127 |
|
114 | 128 | /// Add a new route at the given `path`, relative to root.
|
|
0 commit comments