Fix workflow apiserver proxy (#363)

This commit is contained in:
Erwin van Eyk
2017-09-28 22:45:53 -07:00
committed by Soam Vasani
parent 0537c4b805
commit 59c18693fa
2 changed files with 9 additions and 7 deletions
+2 -2
View File
@@ -69,7 +69,7 @@ func MakeAPI() (*API, error) {
if len(u) > 0 {
api.workflowApiUrl = strings.TrimSuffix(wfEnv, "/")
} else {
api.workflowApiUrl = "http://workflow-apiserver"
api.workflowApiUrl = "http://workflows-apiserver"
}
return api, err
@@ -178,7 +178,7 @@ func (api *API) Serve(port int) {
r.HandleFunc("/proxy/storage/v1/archive", api.StorageServiceProxy)
r.HandleFunc("/proxy/buildermgr/v1/build", api.BuilderManagerBuildProxy)
r.HandleFunc("/proxy/buildermgr/v1/builder", api.BuilderManagerEnvBuilderProxy)
r.HandleFunc("/proxy/workflow", api.WorkflowApiProxy)
r.HandleFunc("/proxy/workflows-apiserver/{path:.*}", api.WorkflowApiserverProxy)
address := fmt.Sprintf(":%v", port)
+7 -5
View File
@@ -2,25 +2,27 @@ package controller
import (
"fmt"
"github.com/gorilla/mux"
"net/http"
"net/http/httputil"
"net/url"
"strings"
)
func (api *API) WorkflowApiProxy(w http.ResponseWriter, r *http.Request) {
u := api.storageServiceUrl
func (api *API) WorkflowApiserverProxy(w http.ResponseWriter, r *http.Request) {
u := api.workflowApiUrl
ssUrl, err := url.Parse(u)
if err != nil {
msg := fmt.Sprintf("Error parsing url %v: %v", u, err)
http.Error(w, msg, 500)
return
}
vars := mux.Vars(r)
path := fmt.Sprintf("/%s", vars["path"])
director := func(req *http.Request) {
req.URL.Scheme = ssUrl.Scheme
req.URL.Host = ssUrl.Host
req.URL.Path = strings.TrimPrefix(ssUrl.Path, "/proxy/workflow")
req.URL.RawQuery = ssUrl.RawQuery
req.URL.Path = path
}
proxy := &httputil.ReverseProxy{
Director: director,