From 1f0997054e2fffe41ecc3d02a7289229882f9095 Mon Sep 17 00:00:00 2001 From: Gennadii Kovalev Date: Wed, 15 Mar 2017 15:30:24 +0200 Subject: [PATCH] x-forward header handling --- server.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server.go b/server.go index 97ffd7d..066095b 100644 --- a/server.go +++ b/server.go @@ -15,6 +15,10 @@ import ( "time" ) +const ( + HeaderForward = "X-Forwarded-For" +) + var ( ErrorServerNotSet = errors.New("Server not set") ErrorConnectionNotFound = errors.New("Connection not found") @@ -41,6 +45,10 @@ type Server struct { Get ip of socket client */ func (c *Channel) Ip() string { + forward := c.RequestHeader().Get(HeaderForward) + if forward != "" { + return forward + } return c.ip }