Mercurial > gemma
changeset 350:1ea90a22bd15
Better replacements for WFS proxy.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 06 Aug 2018 18:13:58 +0200 |
parents | 56f6c5ab0f3d |
children | b89138a25f9e |
files | controllers/externalwfs.go controllers/routes.go |
diffstat | 2 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/controllers/externalwfs.go Mon Aug 06 17:50:45 2018 +0200 +++ b/controllers/externalwfs.go Mon Aug 06 18:13:58 2018 +0200 @@ -32,7 +32,11 @@ if external == nil || len(external) == 0 { abort("No external WFS proxy config found\n") } - wfs := mux.Vars(req)["wfs"] + vars := mux.Vars(req) + wfs := vars["wfs"] + rest := vars["rest"] + + log.Printf("rest: %s\n", rest) alias, found := external[wfs] if !found { @@ -54,7 +58,7 @@ } log.Printf("%v\n", prefix) - nURL := prefix + "?" + req.URL.RawQuery + nURL := prefix + "/" + rest + "?" + req.URL.RawQuery log.Printf("%v\n", nURL) u, err := url.Parse(nURL)
--- a/controllers/routes.go Mon Aug 06 17:50:45 2018 +0200 +++ b/controllers/routes.go Mon Aug 06 18:13:58 2018 +0200 @@ -58,7 +58,7 @@ ModifyResponse: externalWFSModifyResponse, } - api.Handle("/externalwfs/{wfs}", externalWFSProxy). + api.Handle("/externalwfs/{wfs}/{rest:.*}", externalWFSProxy). Methods( http.MethodGet, http.MethodPost, http.MethodPut, http.MethodDelete)