pub struct Info<'a> { /* private fields */ }
Expand description

Information about the request/response that can be used to prepare log lines.

Implementations

View the remote SocketAddr of the request.

View the http::Method of the request.

Examples found in repository?
src/filters/log.rs (line 41)
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
pub fn log(name: &'static str) -> Log<impl Fn(Info) + Copy> {
    let func = move |info: Info| {
        // TODO?
        // - response content length?
        log::info!(
            target: name,
            "{} \"{} {} {:?}\" {} \"{}\" \"{}\" {:?}",
            OptFmt(info.route.remote_addr()),
            info.method(),
            info.path(),
            info.route.version(),
            info.status().as_u16(),
            OptFmt(info.referer()),
            OptFmt(info.user_agent()),
            info.elapsed(),
        );
    };
    Log { func }
}

View the URI path of the request.

Examples found in repository?
src/filters/log.rs (line 42)
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
pub fn log(name: &'static str) -> Log<impl Fn(Info) + Copy> {
    let func = move |info: Info| {
        // TODO?
        // - response content length?
        log::info!(
            target: name,
            "{} \"{} {} {:?}\" {} \"{}\" \"{}\" {:?}",
            OptFmt(info.route.remote_addr()),
            info.method(),
            info.path(),
            info.route.version(),
            info.status().as_u16(),
            OptFmt(info.referer()),
            OptFmt(info.user_agent()),
            info.elapsed(),
        );
    };
    Log { func }
}

View the http::Version of the request.

View the http::StatusCode of the response.

Examples found in repository?
src/filters/log.rs (line 44)
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
pub fn log(name: &'static str) -> Log<impl Fn(Info) + Copy> {
    let func = move |info: Info| {
        // TODO?
        // - response content length?
        log::info!(
            target: name,
            "{} \"{} {} {:?}\" {} \"{}\" \"{}\" {:?}",
            OptFmt(info.route.remote_addr()),
            info.method(),
            info.path(),
            info.route.version(),
            info.status().as_u16(),
            OptFmt(info.referer()),
            OptFmt(info.user_agent()),
            info.elapsed(),
        );
    };
    Log { func }
}

View the referer of the request.

Examples found in repository?
src/filters/log.rs (line 45)
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
pub fn log(name: &'static str) -> Log<impl Fn(Info) + Copy> {
    let func = move |info: Info| {
        // TODO?
        // - response content length?
        log::info!(
            target: name,
            "{} \"{} {} {:?}\" {} \"{}\" \"{}\" {:?}",
            OptFmt(info.route.remote_addr()),
            info.method(),
            info.path(),
            info.route.version(),
            info.status().as_u16(),
            OptFmt(info.referer()),
            OptFmt(info.user_agent()),
            info.elapsed(),
        );
    };
    Log { func }
}

View the user agent of the request.

Examples found in repository?
src/filters/log.rs (line 46)
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
pub fn log(name: &'static str) -> Log<impl Fn(Info) + Copy> {
    let func = move |info: Info| {
        // TODO?
        // - response content length?
        log::info!(
            target: name,
            "{} \"{} {} {:?}\" {} \"{}\" \"{}\" {:?}",
            OptFmt(info.route.remote_addr()),
            info.method(),
            info.path(),
            info.route.version(),
            info.status().as_u16(),
            OptFmt(info.referer()),
            OptFmt(info.user_agent()),
            info.elapsed(),
        );
    };
    Log { func }
}

View the Duration that elapsed for the request.

Examples found in repository?
src/filters/log.rs (line 47)
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
pub fn log(name: &'static str) -> Log<impl Fn(Info) + Copy> {
    let func = move |info: Info| {
        // TODO?
        // - response content length?
        log::info!(
            target: name,
            "{} \"{} {} {:?}\" {} \"{}\" \"{}\" {:?}",
            OptFmt(info.route.remote_addr()),
            info.method(),
            info.path(),
            info.route.version(),
            info.status().as_u16(),
            OptFmt(info.referer()),
            OptFmt(info.user_agent()),
            info.elapsed(),
        );
    };
    Log { func }
}

View the host of the request

Access the full headers of the request

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.