feat(wrapper): add UnwrapConn to remaining TCP conn wrappers

Add UnwrapConn() to the admission, proxyproto, conn limiter, metrics,
and observer/stats TCP connection wrappers, complementing the traffic
limiter's limitConn added in the previous commit.

This makes the unwrapConn() helper in handler/sshd able to peel through
any combination of these wrappers uniformly, keeping the pattern
complete and future-proof for handlers that assert on concrete
connection types.
This commit is contained in:
ginuerzh
2026-06-13 14:43:49 +08:00
parent bc44baba55
commit 49ceda6cc2
5 changed files with 30 additions and 0 deletions
+6
View File
@@ -42,6 +42,12 @@ func WrapConn(service string, c net.Conn) net.Conn {
}
}
// UnwrapConn returns the underlying connection, allowing type assertions
// through wrapper layers.
func (c *serverConn) UnwrapConn() net.Conn {
return c.Conn
}
func (c *serverConn) Read(b []byte) (n int, err error) {
n, err = c.Conn.Read(b)
if counter := xmetrics.GetCounter(