pub trait UnixRequestExt {
    fn unix_peer_addr(&self) -> Option<&SocketAddr>;
fn unix_peer_cred(&self) -> Option<&UCred>; }
Expand description

A extension trait which extends the hyper::Request type with methods related to requests served through a unix socket.

Required methods

Returns the the incoming request’s socket’s peer credential

Examples
use hyper::{Body, Response};
use routerify::{RouteParams, Router};
use routerify_unixsocket::UnixRequestExt;

let router = Router::builder()
    .get("/", |req| async move {
        let peer_addr = req.unix_peer_addr().expect("did not have any peer address");

        Ok(Response::new(Body::from(format!(
            "Peer address: {:?}",
            peer_addr
        ))))
    })
    .build()
    .unwrap();

Returns the the incoming request’s socket’s peer credential

Examples
use hyper::{Body, Response};
use routerify::{RouteParams, Router};
use routerify_unixsocket::UnixRequestExt;

let router = Router::builder()
    .get("/whoami", |req| async move {
        let peer_addr = req
            .unix_peer_cred()
            .expect("did not have peer credential information");

        Ok(Response::new(Body::from(format!(
            "uid={} gid={}",
            peer_addr.uid(),
            peer_addr.gid()
        ))))
    })
    .build()
    .unwrap();

Implementations on Foreign Types

Implementors