Проблема при загрузке артефакта выпуска из частного репозитория github с golang

# #go

Вопрос:

Чтобы загрузить конкретный файл из выпуска в частном репозитории github, когда я выполняю

   curl -H 'Authorization: token my_github_token' 
  -H 'Accept: application/vnd.github.v3.raw' 
  -O 
  -L https://github.com/privateorg/privaterepo/releases/download/v.0.10/product-v.0.10-darwin-amd64.tar.gz
 

он правильно загружает файл, но когда я пытаюсь сделать это в Golang с помощью моей функции, как:

 func dl(address, fileName string, headers map[string]string) error {

client := amp;http.Client{}
req, _ := http.NewRequest("GET", address, nil)
for k, v := range headers {
    req.Header.Set(k, v)
}

response, err := client.Do(req)
if err != nil {
    return err
}
defer func() {
    _ = response.Body.Close()
}()
..... rest of the function
 

а затем позвоните по нему через

 url := "https://github.com/privateorg/privaterepo/releases/download/v.0.10/product-v.0.10-darwin-amd64.tar.gz"
err := Download(url, zipTarget, map[string]string{
        "Authorization": "token my_github_token",
        "Accept":        "application/vnd.github.v3.raw",
    });
 

Мой client.Do(req) звонок принимает ошибку 404. Не могли бы вы, пожалуйста, объяснить мне, чего мне не хватает?

Комментарии:

1. ваш код на самом деле кажется прекрасным. лучше всего было бы проверить значение ошибки NewRequest и проверить адрес dl , который получает ваша функция.

2. НЕ ПРОПУСКАЙТЕ НИ ОДНОЙ ОШИБКИ в GO.