@@ -34,8 +34,6 @@ type CNSIRequest struct {
34
34
Error error
35
35
}
36
36
37
- const gitHubAPIURL = "https://api.github.com/"
38
-
39
37
func getEchoURL (c echo.Context ) url.URL {
40
38
log .Println ("getEchoURL" )
41
39
u := c .Request ().URL ().(* standard.URL ).URL
@@ -204,8 +202,8 @@ func (p *portalProxy) proxy(c echo.Context) error {
204
202
log .Println (" " )
205
203
206
204
// if the following header is found, add the GH Oauth code to the body
207
- if header .Get ("x-cnap-github -token-required" ) != "" {
208
- log .Println ("--- x-cnap-github -token-required HEADER FOUND....." )
205
+ if header .Get ("x-cnap-vcs -token-required" ) != "" {
206
+ log .Println ("--- x-cnap-vcs -token-required HEADER FOUND....." )
209
207
body , err = p .addTokenToPayload (c , body )
210
208
if err != nil {
211
209
log .Printf ("Unable to add token to HCE payload: %+v\n " , err )
@@ -270,9 +268,12 @@ func (p *portalProxy) proxy(c echo.Context) error {
270
268
func (p * portalProxy ) addTokenToPayload (c echo.Context , body []byte ) ([]byte , error ) {
271
269
log .Println ("addTokenToPayload" )
272
270
273
- token := p .getGitHubAuthToken (c )
274
-
275
- log .Printf ("Token: %+v\n " , token )
271
+ token , ok := p .getVCSOAuthToken (c )
272
+ if ! ok {
273
+ msg := "Unable to retrieve VCS OAuth token to add to payload"
274
+ log .Println (msg )
275
+ return nil , fmt .Errorf (msg )
276
+ }
276
277
277
278
var projData map [string ]interface {}
278
279
if err := json .Unmarshal (body , & projData ); err != nil {
@@ -327,44 +328,38 @@ End:
327
328
}
328
329
}
329
330
330
- func (p * portalProxy ) github (c echo.Context ) error {
331
-
332
- log .Println ("github passthru ..." )
333
- log .Printf ("GitHub API URL: %s" , gitHubAPIURL )
331
+ func (p * portalProxy ) vcsProxy (c echo.Context ) error {
332
+ log .Println ("VCS proxy passthru ..." )
334
333
335
334
var (
336
- uri * url.URL
337
- headers http. Header
335
+ uri * url.URL
336
+ vcsEndpoint string
338
337
)
339
338
340
339
uri = makeRequestURI (c )
341
- log .Printf ("URI: %+v\n " , uri )
342
340
343
- headers = getEchoHeaders (c )
344
- log .Printf ("Headers: %+v\n " , headers )
341
+ vcsEndpoint = c .Request ().Header ().Get ("x-cnap-vcs-api-url" )
345
342
346
- url := fmt .Sprintf ("%s%s" , gitHubAPIURL , uri )
347
- log .Printf ("URL: %s" , url )
343
+ url := fmt .Sprintf ("%s/ %s" , vcsEndpoint , uri )
344
+ log .Printf ("VCS Endpoint URL: %s" , url )
348
345
349
- token := p .getGitHubAuthToken (c )
350
- tokenHeader := fmt .Sprintf ("token %s" , token )
346
+ token , ok := p .getVCSOAuthToken (c )
347
+ if ! ok {
348
+ msg := fmt .Sprintf ("Token not found for endpoint %s" , vcsEndpoint )
349
+ return echo .NewHTTPError (http .StatusBadRequest , msg )
350
+ }
351
351
352
- // set the token in the header
353
- log .Printf ("Headers before GH call: %+v\n " , headers )
352
+ tokenHeader := fmt .Sprintf ("token %s" , token )
354
353
355
- // Perform the request against GitHub
356
- client := & http.Client {
357
- Timeout : time .Duration (p .Config .HTTPClientTimeoutInSecs ) * time .Second ,
358
- }
354
+ // Perform the request against the VCS endpoint
359
355
req , err := http .NewRequest ("GET" , url , nil )
360
356
log .Printf ("Request: %+v\n " , req )
361
357
req .Header .Add ("Authorization" , tokenHeader )
362
- resp , err := client .Do (req )
358
+ resp , err := httpClient .Do (req )
363
359
if err != nil {
364
- log .Printf ("Response from GitHub contained an error: %v" , err )
360
+ log .Printf ("Response from VCS contained an error: %v" , err )
365
361
}
366
362
367
- log .Printf ("Response from GitHub: %+v\n " , resp )
368
363
body , _ := ioutil .ReadAll (resp .Body )
369
364
defer resp .Body .Close ()
370
365
0 commit comments