1pub trait HttpServiceExt {
2 fn map_request<F>(self, f: F) -> crate::MapRequestService<Self, F>
3 where
4 Self: Sized,
5 {
6 crate::MapRequestService::new(self, f)
7 }
8
9 fn map_response<F>(self, f: F) -> crate::MapResponseService<Self, F>
10 where
11 Self: Sized,
12 {
13 crate::MapResponseService::new(self, f)
14 }
15
16 #[cfg(feature = "set-status")]
17 fn set_status(self, status: http::StatusCode) -> crate::SetStatusService<Self>
18 where
19 Self: Sized,
20 {
21 crate::SetStatusService::new(self, status)
22 }
23
24 #[cfg(feature = "task-local")]
25 fn set_task_local<T>(
26 self,
27 key: &'static tokio::task::LocalKey<T>,
28 value: T,
29 ) -> crate::SetTaskLocalService<Self, T>
30 where
31 Self: Sized,
32 T: Clone + Send + Sync + 'static,
33 {
34 crate::SetTaskLocalService::new(self, key, value)
35 }
36}
37
38impl<T> HttpServiceExt for T {}