Передать токен в заголовке запроса к апи

В Go я совсем новичoк и решения проблемы нагуглить особо не удалось.

Есть апи. Из заголовка получаю токен. Внутри этого апи я обращаюсь к апи другой системы. Но мне нужно еще и передавать туда полученный токен. Я не могу понять, куда и как тут resp, err := http.Get(viper.GetString("HRM_empl_endp")) передавать токен.

Заранее спасибо

func GetEmployeeSkills(c *gin.Context) {

    token := strings.Split(c.Request.Header["Authorization"][0], " ")[1]

    resp, err := http.Get(viper.GetString("HRM_empl_endp"))
    if err != nil || resp.StatusCode != http.StatusOK {
        newErrorResponse(c, http.StatusServiceUnavailable, err.Error())
        return
    }

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Printf("Error reading the body: %v\n", err)
        return
    }
    c.JSON(http.StatusOK, data.ConvertEmployeeTechnologies(data.JsonToString(body)))
}

Ответы (2 шт):

Автор решения: Senior Pomidor
token := strings.Split(c.Request.Header["Authorization"][0], " ")[1]

request, err := http.NewRequest(http.MethodGet, viper.GetString("HRM_empl_endp"), nil)
if err != nil {
    ...
}

request.Header.Add("Authorization", token)
client := &http.Client{}

response, err := client.Do(request)
if err != nil || response.StatusCode != http.StatusOK {
    ...
}
→ Ссылка
Автор решения: NOtAgoodProgger

В конечном итоге получилось сделать вот так.

func GetEmployeeSkills(c *gin.Context) {
    
    token := strings.Split(c.Request.Header["Authorization"][0], " ")[1]

    req, err := http.NewRequest(http.MethodGet, viper.GetString("HRM_empl_endp"), nil)
    if err != nil {
        newErrorResponse(c, http.StatusUnauthorized, err.Error())
    }

    req.Header = map[string][]string{
        "Authorization": {fmt.Sprintf("Bearer %s", token)},
    }
    client := http.Client{}
    resp, err := client.Do(req)

    if err != nil || resp.StatusCode != http.StatusOK {
        newErrorResponse(c, http.StatusServiceUnavailable, err.Error())
        return
    }

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Printf("Error reading the body: %v\n", err)
        return
    }
    c.JSON(http.StatusOK, data.ConvertEmployeeTechnologies(data.JsonToString(body)))
}
→ Ссылка