From 47f4bd24ef6b363e3313116918e7de373598fbfa Mon Sep 17 00:00:00 2001 From: ivulit Date: Thu, 26 Feb 2026 13:01:08 +0300 Subject: [PATCH] refactor: simplify v2 PROXY header building, add Default for V2Builder --- src/proxy/masking.rs | 9 +-------- src/transport/proxy_protocol.rs | 6 ++++++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/proxy/masking.rs b/src/proxy/masking.rs index ccb1e91..d12cf41 100644 --- a/src/proxy/masking.rs +++ b/src/proxy/masking.rs @@ -125,14 +125,7 @@ where version => { let header = if let Ok(local_addr) = stream.local_addr() { match version { - 2 => match (peer, local_addr) { - (SocketAddr::V4(src), SocketAddr::V4(dst)) => - ProxyProtocolV2Builder::new().with_addrs(src.into(), dst.into()).build(), - (SocketAddr::V6(src), SocketAddr::V6(dst)) => - ProxyProtocolV2Builder::new().with_addrs(src.into(), dst.into()).build(), - _ => - ProxyProtocolV2Builder::new().build(), - }, + 2 => ProxyProtocolV2Builder::new().with_addrs(peer, local_addr).build(), _ => match (peer, local_addr) { (SocketAddr::V4(src), SocketAddr::V4(dst)) => ProxyProtocolV1Builder::new().tcp4(src.into(), dst.into()).build(), diff --git a/src/transport/proxy_protocol.rs b/src/transport/proxy_protocol.rs index 13278c3..96f4ffb 100644 --- a/src/transport/proxy_protocol.rs +++ b/src/transport/proxy_protocol.rs @@ -291,6 +291,12 @@ pub struct ProxyProtocolV2Builder { dst: Option, } +impl Default for ProxyProtocolV2Builder { + fn default() -> Self { + Self::new() + } +} + impl ProxyProtocolV2Builder { pub fn new() -> Self { Self { src: None, dst: None }