Skip to content
Snippets Groups Projects

Add prerequisite for this 401 errors

Merged Tian Gao requested to merge 32-improve_unauthorized_error_message into main
All threads resolved!
Files
2
@@ -55,6 +55,10 @@ type GitLabResponse struct {
Completion string `json:"response"`
}
type GitLabErrorResponse struct {
Message string `json:"message"`
}
func NewGitLab(scannerVersion, apiV4Url, jobID, token string) *GitLab {
return &GitLab{
ApiV4Url: apiV4Url,
@@ -128,7 +132,13 @@ func (gl *GitLab) Completions(prompt string) ([]deps.Dependency, error) {
}
if resp.StatusCode != http.StatusOK {
return nil, fmt.Errorf("Request failed (code %v)", resp.StatusCode)
var gler GitLabErrorResponse
err = json.NewDecoder(resp.Body).Decode(&gler)
if err != nil {
return nil, fmt.Errorf("Failed to decode response body: %v", err)
}
return nil, fmt.Errorf(gler.ErrorMessage(resp.StatusCode))
}
break
@@ -147,3 +157,11 @@ func (gl *GitLab) Completions(prompt string) ([]deps.Dependency, error) {
func (glr *GitLabResponse) String() string {
return strings.TrimSuffix(glr.Completion, prompt.ResponseClosingTag)
}
func (gler *GitLabErrorResponse) ErrorMessage(statusCode int) string {
if gler.Message != "" {
return fmt.Sprintf("Request failed (code %d): %s", statusCode, gler.Message)
}
return fmt.Sprintf("Request failed (code %d)", statusCode)
}
Loading