summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndinus <andinus@nand.sh>2020-03-19 13:22:57 +0530
committerAndinus <andinus@nand.sh>2020-03-19 13:22:57 +0530
commit58122b41d2fc536e5f2ad30da70e33e59a18dc90 (patch)
tree81fd113d40b670c97b5ae85e5f52a91ad7d8a004
parent5e6090c35f3d6105b20e529cc23c76a339ba944f (diff)
downloadcetus-58122b41d2fc536e5f2ad30da70e33e59a18dc90.tar.gz
Add download function
-rw-r--r--pkg/background/download.go34
-rw-r--r--pkg/background/set.go (renamed from pkg/background/background.go)0
2 files changed, 34 insertions, 0 deletions
diff --git a/pkg/background/download.go b/pkg/background/download.go
new file mode 100644
index 0000000..fd391a6
--- /dev/null
+++ b/pkg/background/download.go
@@ -0,0 +1,34 @@
+package background
+
+import (
+	"fmt"
+	"io"
+	"net/http"
+	"os"
+)
+
+// Download takes path and url as input and downloads the data to a
+// file, returning an error if there is one
+func Download(file string, url string) (err error) {
+	o, err := os.Create(file)
+	if err != nil {
+		return err
+	}
+	defer o.Close()
+
+	res, err := http.Get(url)
+	if err != nil {
+		return err
+	}
+	defer res.Body.Close()
+
+	if res.StatusCode != http.StatusOK {
+		return fmt.Errorf("Unexpected Response: %s", res.Status)
+	}
+
+	_, err = io.Copy(o, res.Body)
+	if err != nil {
+		return err
+	}
+	return nil
+}
diff --git a/pkg/background/background.go b/pkg/background/set.go
index fa95f6f..fa95f6f 100644
--- a/pkg/background/background.go
+++ b/pkg/background/set.go