Mercurial > gemma
comparison controllers/externalwfs.go @ 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 |
comparison
equal
deleted
inserted
replaced
349:56f6c5ab0f3d | 350:1ea90a22bd15 |
---|---|
30 | 30 |
31 external := config.ExternalWFSs() | 31 external := config.ExternalWFSs() |
32 if external == nil || len(external) == 0 { | 32 if external == nil || len(external) == 0 { |
33 abort("No external WFS proxy config found\n") | 33 abort("No external WFS proxy config found\n") |
34 } | 34 } |
35 wfs := mux.Vars(req)["wfs"] | 35 vars := mux.Vars(req) |
36 wfs := vars["wfs"] | |
37 rest := vars["rest"] | |
38 | |
39 log.Printf("rest: %s\n", rest) | |
36 | 40 |
37 alias, found := external[wfs] | 41 alias, found := external[wfs] |
38 if !found { | 42 if !found { |
39 abort("No config found for %s\n", wfs) | 43 abort("No config found for %s\n", wfs) |
40 } | 44 } |
52 if !ok { | 56 if !ok { |
53 abort("error: badly configured url for external WFS %s\n", wfs) | 57 abort("error: badly configured url for external WFS %s\n", wfs) |
54 } | 58 } |
55 | 59 |
56 log.Printf("%v\n", prefix) | 60 log.Printf("%v\n", prefix) |
57 nURL := prefix + "?" + req.URL.RawQuery | 61 nURL := prefix + "/" + rest + "?" + req.URL.RawQuery |
58 log.Printf("%v\n", nURL) | 62 log.Printf("%v\n", nURL) |
59 | 63 |
60 u, err := url.Parse(nURL) | 64 u, err := url.Parse(nURL) |
61 if err != nil { | 65 if err != nil { |
62 abort("Invalid url: %v\n", err) | 66 abort("Invalid url: %v\n", err) |