pub trait Observer {
// Required methods
fn on_request_started(&self, data: RequestStartData<'_>);
fn on_request_ended(&self, data: RequestEndData);
}
Expand description
An Observer is notified before a request is passed for processing, and after processing into a response. Use case could be logging before and after request:
use actix_request_hook::observer::{Observer, RequestEndData, RequestStartData};
struct RequestLogger;
impl Observer for RequestLogger {
fn on_request_started(&self, data: RequestStartData) {
println!("[start - {}] {} {}", data.request_id.to_string(), data.method, data.uri);
}
fn on_request_ended(&self, data: RequestEndData) {
let time_elapsed_millis = data.elapsed.as_millis();
println!("[end - {}] {} {} ended with {} after {}ms", data.request_id.to_string(), data.method, data.uri, data.status, time_elapsed_millis);
}
}
Required Methods§
Sourcefn on_request_started(&self, data: RequestStartData<'_>)
fn on_request_started(&self, data: RequestStartData<'_>)
Fired before handler call. See RequestStartData for available arguments.
Sourcefn on_request_ended(&self, data: RequestEndData)
fn on_request_ended(&self, data: RequestEndData)
Fired after handler call. See RequestEndData for available arguments.