func httpGet(url string, digestHeaders *digestAuth.DigestHeaders) string { tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } client := &http.Client{Transport: tr} req, err := http.NewRequest("GET", url, nil) digestHeaders.ApplyAuth(req) check(err) resp, err := client.Do(req) check(err) //determine auth or not if resp.StatusCode == 401 { updateAuth(digestHeaders, user, pass, url) return httpGet(url, digestHeaders) } else { defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) check(err) return string(body) } }