Skip to main content

resolve

Function resolve 

Source
pub fn resolve(result: Result<Response, Error>) -> Response
Expand description

Convert a handler result into a definite Response.

Useful in middleware that needs to observe both success and error paths before returning — e.g. attaching an X-Request-Id header to every response regardless of outcome.

Examples found in repository?
examples/homepage.rs (line 17)
14async fn request_id(mut req: Request, next: Next) -> Result<Response, Error> {
15    let id = REQUEST_COUNTER.fetch_add(1, Ordering::Relaxed);
16    req.ctx_mut().insert(RequestId(id));
17    let mut resp = resolve(next.run(req).await);
18    if let Ok(header) = format!("req-{id}").parse() {
19        resp.headers_mut().insert("x-request-id", header);
20    }
21    Ok(resp)
22}