in internal/gitlabnet/git/client.go [83:113]
func (c *Client) do(request *http.Request) (*http.Response, error) {
for k, v := range c.Headers {
request.Header.Add(k, v)
}
response, err := httpClient.Do(request)
if err != nil {
return nil, &client.APIError{Msg: repoUnavailableErrMsg}
}
if response.StatusCode >= 400 {
defer func() {
if err := response.Body.Close(); err != nil {
log.WithError(err).Error("Unable to close response body")
}
}()
body, err := io.ReadAll(response.Body)
if err != nil {
return nil, &client.APIError{Msg: repoUnavailableErrMsg}
}
if len(body) > 0 {
return nil, &client.APIError{Msg: string(body)}
}
return nil, &client.APIError{Msg: repoUnavailableErrMsg}
}
return response, nil
}