From 930bdb31a85db0bbf58fa06ea1b4758189e9d11b Mon Sep 17 00:00:00 2001 From: Jeff Ortel Date: Fri, 6 Sep 2024 08:44:47 -0700 Subject: [PATCH] checkpoint Signed-off-by: Jeff Ortel --- api/service.go | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/api/service.go b/api/service.go index c5705876..b7b3b3e8 100644 --- a/api/service.go +++ b/api/service.go @@ -9,6 +9,7 @@ import ( "github.com/gin-gonic/gin" core "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/utils/net" k8s "sigs.k8s.io/controller-runtime/pkg/client" ) @@ -52,12 +53,9 @@ func (h ServiceHandler) Forward(ctx *gin.Context) { return } } - host := service.Spec.ClusterIP - port := int(service.Spec.Ports[0].Port) - host = host + ":" + strconv.Itoa(port) proxy := httputil.ReverseProxy{ Director: func(req *http.Request) { - req.URL.Scheme = h.scheme(service) + req.URL.Scheme = ctx.Request.URL.Scheme req.URL.Host = h.host(service) req.URL.Path = path }, @@ -66,22 +64,15 @@ func (h ServiceHandler) Forward(ctx *gin.Context) { proxy.ServeHTTP(ctx.Writer, ctx.Request) } -func (h *ServiceHandler) scheme(service *core.Service) (scheme string) { - scheme = "http" - s, found := service.Annotations["konveyor.io/scheme"] - if found { - scheme = s - } - return -} - func (h *ServiceHandler) host(service *core.Service) (host string) { host = service.Spec.ClusterIP for _, p := range service.Spec.Ports { - port := int(p.Port) - host += ":" - host += strconv.Itoa(port) - break + if net.Protocol(p.Protocol) == net.TCP { + port := int(p.Port) + host += ":" + host += strconv.Itoa(port) + break + } } return }