This is an automated email from the ASF dual-hosted git repository.

rawlin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new 47f570f  Fix for missing port in redirect to https (#3647)
47f570f is described below

commit 47f570ffd3e24a0a193043447d00df6fa763379f
Author: mattjackson220 <[email protected]>
AuthorDate: Fri Jun 21 10:59:02 2019 -0600

    Fix for missing port in redirect to https (#3647)
    
    * Fix for missing port in redirect to https
    
    * updated per comments
---
 traffic_monitor/srvhttp/srvhttp.go                           | 12 +++++++++++-
 .../traffic_router/core/util/PeriodicResourceUpdater.java    |  7 ++++---
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/traffic_monitor/srvhttp/srvhttp.go 
b/traffic_monitor/srvhttp/srvhttp.go
index 45b06a7..f6992f1 100644
--- a/traffic_monitor/srvhttp/srvhttp.go
+++ b/traffic_monitor/srvhttp/srvhttp.go
@@ -25,6 +25,7 @@ import (
        "net"
        "net/http"
        "net/url"
+       "strings"
        "sync"
        "time"
 
@@ -186,7 +187,16 @@ func (s *Server) RunHTTPSRedirect(addr string, 
addrForRedirect string, readTimeo
 }
 
 func (s *Server) redirectTLS(w http.ResponseWriter, r *http.Request) {
-       host, _, _ := net.SplitHostPort(r.Host)
+       host, _, err := net.SplitHostPort(r.Host)
+       if err != nil {
+               if strings.Contains(err.Error(), "missing port in address") {
+                       host = r.Host
+               } else {
+                       w.WriteHeader(http.StatusInternalServerError)
+                       w.Write([]byte(`{"error": "getting host from request: ` 
+ err.Error() + `"}`))
+                       return
+               }
+       }
        http.Redirect(w, r, "https://"+host+s.addrToRedirect+r.RequestURI, 
http.StatusMovedPermanently)
 }
 
diff --git 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/util/PeriodicResourceUpdater.java
 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/util/PeriodicResourceUpdater.java
index efeafe9..a6a4390 100644
--- 
a/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/util/PeriodicResourceUpdater.java
+++ 
b/traffic_router/core/src/main/java/com/comcast/cdn/traffic_control/traffic_router/core/util/PeriodicResourceUpdater.java
@@ -121,8 +121,9 @@ public class PeriodicResourceUpdater {
        private AsyncHttpClient newAsyncClient() {
                return new AsyncHttpClient(
                                new AsyncHttpClientConfig.Builder()
-                                               .setConnectionTimeoutInMs(10000)
-                                                       .build());
+                                               .setFollowRedirects(true)
+                                                       
.setConnectionTimeoutInMs(10000)
+                                                               .build());
        }
 
        private synchronized void putCurrent() {
@@ -296,7 +297,7 @@ public class PeriodicResourceUpdater {
        private Request getRequest(final String url) {
                try {
                        new URI(url);
-                       return asyncHttpClient.prepareGet(url).build();
+                       return 
asyncHttpClient.prepareGet(url).setFollowRedirects(true).build();
                } catch (URISyntaxException e) {
                        LOGGER.fatal("Cannot update database from Bad URI - " + 
url);
                        return null;

Reply via email to