Mercurial > gemma
diff pkg/wfs/download.go @ 1624:943823d03d50
WFS downloader: Started with mapping return features to Go structs.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 18 Dec 2018 18:36:02 +0100 |
parents | 3093bab05c81 |
children | 92da44ba610c |
line wrap: on
line diff
--- a/pkg/wfs/download.go Tue Dec 18 16:47:28 2018 +0100 +++ b/pkg/wfs/download.go Tue Dec 18 18:36:02 2018 +0100 @@ -18,6 +18,7 @@ "encoding/xml" "errors" "fmt" + "io" "log" "net/http" "net/url" @@ -235,3 +236,21 @@ return downloadURLs, nil } + +func downloadURL(url string, handler func(io.Reader) error) error { + resp, err := http.Get(url) + if err != nil { + return err + } + defer resp.Body.Close() + return handler(resp.Body) +} + +func DownloadURLs(urls []string, handler func(io.Reader) error) error { + for _, url := range urls { + if err := downloadURL(url, handler); err != nil { + return nil + } + } + return nil +}