27 lines
596 B
Rust
27 lines
596 B
Rust
use std::fmt;
|
|
use std::task::{Context, Poll};
|
|
use tower::Service;
|
|
|
|
pub struct LogService<S> {
|
|
pub service: S,
|
|
}
|
|
|
|
impl<S, Request> Service<Request> for LogService<S>
|
|
where
|
|
S: Service<Request>,
|
|
Request: fmt::Debug,
|
|
{
|
|
type Response = S::Response;
|
|
type Error = S::Error;
|
|
type Future = S::Future;
|
|
|
|
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
|
|
self.service.poll_ready(cx)
|
|
}
|
|
|
|
fn call(&mut self, request: Request) -> Self::Future {
|
|
log::debug!("request = {:?}", request);
|
|
self.service.call(request)
|
|
}
|
|
}
|