Skip to content

Commit a4d0673

Browse files
committed
Reduce complexity to make linter happy
1 parent d78b6ab commit a4d0673

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

cmd/thv/app/proxy.go

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -231,20 +231,8 @@ func proxyCmdFunc(cmd *cobra.Command, args []string) error {
231231
middlewares = append(middlewares, authMiddleware)
232232

233233
// Add OAuth token injection or token exchange middleware for outgoing requests
234-
if remoteAuthFlags.TokenExchangeURL != "" {
235-
// Use token exchange middleware when token exchange is configured
236-
tokenExchangeConfig := createTokenExchangeConfig()
237-
if tokenExchangeConfig != nil {
238-
tokenExchangeMiddleware, teMwErr := tokenexchange.CreateTokenExchangeMiddlewareFromClaims(*tokenExchangeConfig)
239-
if teMwErr != nil {
240-
return fmt.Errorf("failed to create token exchange middleware: %v", teMwErr)
241-
}
242-
middlewares = append(middlewares, tokenExchangeMiddleware)
243-
}
244-
} else if tokenSource != nil {
245-
// Fallback to direct token injection when no token exchange is configured
246-
tokenMiddleware := createTokenInjectionMiddleware(tokenSource)
247-
middlewares = append(middlewares, tokenMiddleware)
234+
if err := addExternalTokenMiddleware(&middlewares, tokenSource); err != nil {
235+
return err
248236
}
249237

250238
// Create the transparent proxy
@@ -440,6 +428,26 @@ func createTokenInjectionMiddleware(tokenSource *oauth2.TokenSource) types.Middl
440428
}
441429
}
442430

431+
// addExternalTokenMiddleware adds token exchange or token injection middleware to the middleware chain
432+
func addExternalTokenMiddleware(middlewares *[]types.MiddlewareFunction, tokenSource *oauth2.TokenSource) error {
433+
if remoteAuthFlags.TokenExchangeURL != "" {
434+
// Use token exchange middleware when token exchange is configured
435+
tokenExchangeConfig := createTokenExchangeConfig()
436+
if tokenExchangeConfig != nil {
437+
tokenExchangeMiddleware, err := tokenexchange.CreateTokenExchangeMiddlewareFromClaims(*tokenExchangeConfig)
438+
if err != nil {
439+
return fmt.Errorf("failed to create token exchange middleware: %v", err)
440+
}
441+
*middlewares = append(*middlewares, tokenExchangeMiddleware)
442+
}
443+
} else if tokenSource != nil {
444+
// Fallback to direct token injection when no token exchange is configured
445+
tokenMiddleware := createTokenInjectionMiddleware(tokenSource)
446+
*middlewares = append(*middlewares, tokenMiddleware)
447+
}
448+
return nil
449+
}
450+
443451
// validateProxyTargetURI validates that the target URI for the proxy is valid and does not contain a path
444452
func validateProxyTargetURI(targetURI string) error {
445453
// Parse the target URI

0 commit comments

Comments
 (0)