diff pkg/wfs/global.go @ 2719:2b6f73c30016

WFS downloader: Add BasicAuth support for downloading. TODO: Use it.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 19 Mar 2019 12:20:54 +0100
parents 3956de9b6b32
children 04876d865528
line wrap: on
line diff
--- a/pkg/wfs/global.go	Tue Mar 19 10:06:22 2019 +0100
+++ b/pkg/wfs/global.go	Tue Mar 19 12:20:54 2019 +0100
@@ -40,7 +40,7 @@
 
 type (
 	Downloader interface {
-		Download(handler func(string, io.Reader) error) error
+		Download(user, password string, handler func(string, io.Reader) error) error
 	}
 
 	GeoJSONDownloader []string
@@ -85,8 +85,8 @@
 	return GMLDownloader(urls), err
 }
 
-func (gjd GeoJSONDownloader) Download(handler func(string, io.Reader) error) error {
-	return DownloadURLs([]string(gjd), handler)
+func (gjd GeoJSONDownloader) Download(user, password string, handler func(string, io.Reader) error) error {
+	return DownloadURLs(user, password, []string(gjd), handler)
 }
 
 func places(n int) int {
@@ -101,7 +101,7 @@
 	return places
 }
 
-func (gmd GMLDownloader) Download(handler func(string, io.Reader) error) error {
+func (gmd GMLDownloader) Download(user, password string, handler func(string, io.Reader) error) error {
 
 	if len(gmd) == 0 {
 		return errors.New("Nothing to download")
@@ -119,7 +119,7 @@
 
 	for i, url := range gmd {
 		fname := filepath.Join(dlDir, fmt.Sprintf("%0*d.gml", digits, i))
-		if err := downloadURL(url, func(_ string, r io.Reader) error {
+		if err := downloadURL(user, password, url, func(_ string, r io.Reader) error {
 			f, err := os.Create(fname)
 			if err != nil {
 				return err