func parseError()

in client/gitlabnet.go [112:127]


func parseError(resp *http.Response, respErr error) error {
	if resp == nil || respErr != nil {
		return &APIError{"Internal API unreachable"}
	}

	if resp.StatusCode >= 200 && resp.StatusCode <= 399 {
		return nil
	}
	defer func() { _ = resp.Body.Close() }()
	parsedResponse := &ErrorResponse{}

	if err := json.NewDecoder(resp.Body).Decode(parsedResponse); err != nil {
		return &APIError{fmt.Sprintf("Internal API error (%v)", resp.StatusCode)}
	}
	return &APIError{parsedResponse.Message}
}