Trait routerify_unixsocket::UnixRequestExt
source · [−]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
fn unix_peer_addr(&self) -> Option<&SocketAddr>
fn unix_peer_addr(&self) -> Option<&SocketAddr>
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>
fn unix_peer_cred(&self) -> Option<&UCred>
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();