Skip to content
This repository was archived by the owner on Dec 21, 2023. It is now read-only.

Commit 623e06c

Browse files
authored
fix: Fixed wrong paths for apiutils (#469)
* fix: Fixed wrong paths for apiutils Signed-off-by: warber <bernd.warmuth@dynatrace.com> * Fixed wrong paths for apiutils Signed-off-by: warber <bernd.warmuth@dynatrace.com> * Fixed wrong paths for apiutils Signed-off-by: warber <bernd.warmuth@dynatrace.com> * Fixed wrong paths for apiutils Signed-off-by: warber <bernd.warmuth@dynatrace.com> * review Signed-off-by: warber <bernd.warmuth@dynatrace.com> * review Signed-off-by: warber <bernd.warmuth@dynatrace.com>
1 parent 2052e14 commit 623e06c

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

pkg/api/utils/apiUtils.go

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ func NewAuthenticatedAPIHandler(baseURL string, authToken string, authHeader str
4444
func createAuthenticatedAPIHandler(baseURL string, authToken string, authHeader string, httpClient *http.Client, scheme string) *APIHandler {
4545
baseURL = strings.TrimPrefix(baseURL, "http://")
4646
baseURL = strings.TrimPrefix(baseURL, "https://")
47+
if !strings.HasSuffix(baseURL, shipyardControllerBaseURL) {
48+
baseURL += "/" + shipyardControllerBaseURL
49+
}
50+
4751
return &APIHandler{
4852
BaseURL: baseURL,
4953
AuthHeader: authHeader,
@@ -71,11 +75,17 @@ func (a *APIHandler) getHTTPClient() *http.Client {
7175

7276
// SendEvent sends an event to Keptn
7377
func (a *APIHandler) SendEvent(event models.KeptnContextExtendedCE) (*models.EventContext, *models.Error) {
78+
baseURL := a.getBaseURL()
79+
if strings.HasSuffix(baseURL, "/"+shipyardControllerBaseURL) {
80+
baseURL = strings.TrimSuffix(a.getBaseURL(), "/"+shipyardControllerBaseURL)
81+
baseURL += "/api"
82+
}
83+
7484
bodyStr, err := event.ToJSON()
7585
if err != nil {
7686
return nil, buildErrorResponse(err.Error())
7787
}
78-
return postWithEventContext(a.Scheme+"://"+a.getBaseURL()+v1EventPath, bodyStr, a)
88+
return postWithEventContext(a.Scheme+"://"+baseURL+v1EventPath, bodyStr, a)
7989
}
8090

8191
// TriggerEvaluation triggers a new evaluation
@@ -84,7 +94,7 @@ func (a *APIHandler) TriggerEvaluation(project, stage, service string, evaluatio
8494
if err != nil {
8595
return nil, buildErrorResponse(err.Error())
8696
}
87-
return postWithEventContext(a.Scheme+"://"+a.getBaseURL()+"/"+shipyardControllerBaseURL+v1ProjectPath+"/"+project+pathToStage+"/"+stage+pathToService+"/"+service+"/evaluation", bodyStr, a)
97+
return postWithEventContext(a.Scheme+"://"+a.getBaseURL()+v1ProjectPath+"/"+project+pathToStage+"/"+stage+pathToService+"/"+service+"/evaluation", bodyStr, a)
8898
}
8999

90100
// CreateProject creates a new project
@@ -93,7 +103,7 @@ func (a *APIHandler) CreateProject(project models.CreateProject) (string, *model
93103
if err != nil {
94104
return "", buildErrorResponse(err.Error())
95105
}
96-
return post(a.Scheme+"://"+a.getBaseURL()+"/"+shipyardControllerBaseURL+v1ProjectPath, bodyStr, a)
106+
return post(a.Scheme+"://"+a.getBaseURL()+v1ProjectPath, bodyStr, a)
97107
}
98108

99109
// UpdateProject updates project
@@ -102,12 +112,12 @@ func (a *APIHandler) UpdateProject(project models.CreateProject) (string, *model
102112
if err != nil {
103113
return "", buildErrorResponse(err.Error())
104114
}
105-
return put(a.Scheme+"://"+a.getBaseURL()+"/"+shipyardControllerBaseURL+v1ProjectPath, bodyStr, a)
115+
return put(a.Scheme+"://"+a.getBaseURL()+v1ProjectPath, bodyStr, a)
106116
}
107117

108118
// DeleteProject deletes a project
109119
func (a *APIHandler) DeleteProject(project models.Project) (*models.DeleteProjectResponse, *models.Error) {
110-
resp, err := delete(a.Scheme+"://"+a.getBaseURL()+"/"+shipyardControllerBaseURL+v1ProjectPath+"/"+project.ProjectName, a)
120+
resp, err := delete(a.Scheme+"://"+a.getBaseURL()+v1ProjectPath+"/"+project.ProjectName, a)
111121
if err != nil {
112122
return nil, err
113123
}
@@ -127,12 +137,12 @@ func (a *APIHandler) CreateService(project string, service models.CreateService)
127137
if err != nil {
128138
return "", buildErrorResponse(err.Error())
129139
}
130-
return post(a.Scheme+"://"+a.getBaseURL()+"/"+shipyardControllerBaseURL+v1ProjectPath+"/"+project+pathToService, bodyStr, a)
140+
return post(a.Scheme+"://"+a.getBaseURL()+v1ProjectPath+"/"+project+pathToService, bodyStr, a)
131141
}
132142

133143
// DeleteProject deletes a project
134144
func (a *APIHandler) DeleteService(project, service string) (*models.DeleteServiceResponse, *models.Error) {
135-
resp, err := delete(a.Scheme+"://"+a.getBaseURL()+"/"+shipyardControllerBaseURL+v1ProjectPath+"/"+project+pathToService+"/"+service, a)
145+
resp, err := delete(a.Scheme+"://"+a.getBaseURL()+v1ProjectPath+"/"+project+pathToService+"/"+service, a)
136146
if err != nil {
137147
return nil, err
138148
}
@@ -148,7 +158,13 @@ func (a *APIHandler) DeleteService(project, service string) (*models.DeleteServi
148158

149159
// GetMetadata retrieve keptn MetaData information
150160
func (a *APIHandler) GetMetadata() (*models.Metadata, *models.Error) {
151-
req, err := http.NewRequest("GET", a.Scheme+"://"+a.getBaseURL()+v1MetadataPath, nil)
161+
baseURL := a.getBaseURL()
162+
if strings.HasSuffix(baseURL, "/"+shipyardControllerBaseURL) {
163+
baseURL = strings.TrimSuffix(a.getBaseURL(), "/"+shipyardControllerBaseURL)
164+
baseURL += "/api"
165+
}
166+
167+
req, err := http.NewRequest("GET", a.Scheme+"://"+baseURL+v1MetadataPath, nil)
152168
if err != nil {
153169
return nil, buildErrorResponse(err.Error())
154170
}

0 commit comments

Comments
 (0)