spacegate_kernel/extension/peer_addr.rs
1use std::net::SocketAddr;
2
3use crate::Extract;
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
5#[repr(transparent)]
6pub struct PeerAddr(pub SocketAddr);
7
8impl Extract for PeerAddr {
9 fn extract(req: &hyper::Request<crate::SgBody>) -> Self {
10 let peer_addr = req.extensions().get::<PeerAddr>().expect("PeerAddr not found");
11 *peer_addr
12 }
13}