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}