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
+}