Trait routerify_unixsocket::UnixRequestExt[][src]

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

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

Required methods

fn unix_peer_addr(&self) -> Option<&SocketAddr>[src]

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();

fn unix_peer_cred(&self) -> Option<&UCred>[src]

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();
Loading content...

Implementations on Foreign Types

impl UnixRequestExt for Request<Body>[src]

Loading content...

Implementors

Loading content...