# HG changeset patch # User Sascha L. Teichmann # Date 1533572038 -7200 # Node ID 1ea90a22bd156492b337d223eb35971967507db7 # Parent 56f6c5ab0f3d9c9e7dd5c741a6675d5587913753 Better replacements for WFS proxy. diff -r 56f6c5ab0f3d -r 1ea90a22bd15 controllers/externalwfs.go --- 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) diff -r 56f6c5ab0f3d -r 1ea90a22bd15 controllers/routes.go --- 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)