luno-rs 0.1.0

A lightweight Rust wrapper for Luno API
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::time;
use surf::middleware::{Middleware, Next};
use surf::{Client, Request, Response, Result};

#[derive(Debug)]
pub struct Logger;

#[surf::utils::async_trait]
impl Middleware for Logger {
    async fn handle(&self, req: Request, client: Client, next: Next<'_>) -> Result<Response> {
        let url = req.url().clone();
        info!("sending request to {}", url);
        let now = time::Instant::now();
        let res = next.run(req, client).await?;
        info!("request [{}] took ({:?})", url, now.elapsed());
        Ok(res)
    }
}