From 509c7bb153ec0095d36c8d5cc15bdd06b000eb54 Mon Sep 17 00:00:00 2001 From: rubyist Date: Mon, 4 Nov 2013 16:51:18 -0500 Subject: [PATCH] When the client gets media and the media file doesn't exist, ensure it is created --- client/client.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/client/client.go b/client/client.go index cb3921ce..bef44649 100644 --- a/client/client.go +++ b/client/client.go @@ -51,12 +51,23 @@ func Get(filename string) (io.ReadCloser, error) { req.Header.Set("Accept", "application/vnd.git-media") res, err := doRequest(req, creds) + defer res.Body.Close() if err != nil { return nil, err } - return res.Body, nil + mediafile, err := os.Create(filename) + defer mediafile.Close() + + if err != nil { + return nil, err + } + + _, err = io.Copy(mediafile, res.Body) + if err != nil { + return nil, err + } } return os.Open(filename)