From c623792c2fb945aa18e0d992d757d11e39f2e859 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Sun, 21 Mar 2021 13:03:04 -0500 Subject: [PATCH] NOW authelia supported --- server/server.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/server/server.go b/server/server.go index 706a531..299eab5 100755 --- a/server/server.go +++ b/server/server.go @@ -123,15 +123,20 @@ func (s *Server) doAuthelia(foo http.HandlerFunc) http.HandlerFunc { if r2.URL.Host == "" { r2.URL.Host = r2.Host } - r2.URL.Host, _, _ = net.SplitHostPort(r2.URL.Host) if r2.URL.Scheme == "" { r2.URL.Scheme = "https" } for _, httpreq := range []*http.Request{r, req} { - httpreq.Header.Set("X-Original-URL", r2.URL.String()) - httpreq.Header.Set("X-Forwarded-Proto", r2.URL.Scheme) - httpreq.Header.Set("X-Forwarded-Host", r2.URL.Host) - httpreq.Header.Set("X-Forwarded-URI", r2.URL.String()) + for k, v := range map[string]string{ + "X-Original-Url": r2.URL.String(), + "X-Forwarded-Proto": r2.URL.Scheme, + "X-Forwarded-Host": r2.URL.Host, + "X-Forwarded-Uri": r2.URL.String(), + } { + if _, ok := httpreq.Header[k]; !ok { + httpreq.Header.Set(k, v) + } + } } if cookie, err := r.Cookie("authelia_session"); err == nil { req.AddCookie(cookie)