1macro_rules! make_req_fns {
2 ($($name:ident, $level:expr),+) => {
3 $(
4 #[inline]
5 pub fn $name<A>(req: &http::Request<A>) -> tracing::Span {
6 tracing::span!(
7 $level,
8 "request",
9 method = ?req.method(),
10 uri = ?req.uri(),
11 )
12 }
13 )+
14 }
15}
16
17make_req_fns! {
18 info_request, tracing::Level::INFO,
19 warn_request, tracing::Level::WARN,
20 error_request, tracing::Level::ERROR
21}
22
23#[inline]
24pub fn debug_request<A>(req: &http::Request<A>) -> tracing::Span {
25 tracing::span!(
26 tracing::Level::DEBUG,
27 "request",
28 method = ?req.method(),
29 uri = ?req.uri(),
30 version = ?req.version(),
31 )
32}
33
34#[inline]
35pub fn trace_request<A>(req: &http::Request<A>) -> tracing::Span {
36 tracing::span!(
37 tracing::Level::TRACE,
38 "request",
39 method = ?req.method(),
40 uri = ?req.uri(),
41 version = ?req.version(),
42 headers = ?req.headers(),
43 )
44}