From c6af4374805dda4e7b4845b2b6e5f2f1aa4c4f0a Mon Sep 17 00:00:00 2001 From: Remco Date: Tue, 11 Nov 2014 15:34:03 +0100 Subject: [PATCH] updated redirect handling for domains and https defaults --- transfersh-server/handlers.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/transfersh-server/handlers.go b/transfersh-server/handlers.go index a6c04ef..a4fd93f 100644 --- a/transfersh-server/handlers.go +++ b/transfersh-server/handlers.go @@ -506,13 +506,22 @@ func getHandler(w http.ResponseWriter, r *http.Request) { func RedirectHandler(h http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - if ipAddrFromRemoteAddr(r.Host) != "transfer.sh" && ipAddrFromRemoteAddr(r.Host) != "127.0.0.1" && r.URL.Path != "/health.html" { - http.Redirect(w, r, "https://transfer.sh/", 301) - return - } + if r.URL.Path == "/health.html" { + } else if ipAddrFromRemoteAddr(r.Host) == "127.0.0.1" { + } else if ipAddrFromRemoteAddr(r.Host) == "transfersh.elasticbeanstalk.com" { + } else if ipAddrFromRemoteAddr(r.Host) == "jxm5d6emw5rknovg.onion" { + if r.Header.Get("X-Forwarded-Proto") != "https" && r.Method == "GET" { - if ipAddrFromRemoteAddr(r.Host) == "transfer.sh" && r.Header.Get("X-Forwarded-Proto") != "https" && r.Method == "GET" { - http.Redirect(w, r, "https://transfer.sh/", 301) + http.Redirect(w, r, "https://jxm5d6emw5rknovg.onion"+r.RequestURI, 301) + return + } + } else if ipAddrFromRemoteAddr(r.Host) == "transfer.sh" { + if r.Header.Get("X-Forwarded-Proto") != "https" && r.Method == "GET" { + http.Redirect(w, r, "https://transfer.sh"+r.RequestURI, 301) + return + } + } else if ipAddrFromRemoteAddr(r.Host) != "transfer.sh" { + http.Redirect(w, r, "https://transfer.sh"+r.RequestURI, 301) return }