Skip to content

Commit

Permalink
Add common provider headers to cloud-provider-client (#1828)
Browse files Browse the repository at this point in the history
* Add provider headers

* Apply suggestions from code review

Co-authored-by: Jeroen Op 't Eynde <[email protected]>

---------

Co-authored-by: Jeroen Op 't Eynde <[email protected]>
  • Loading branch information
thepalbi and Duologic authored Oct 2, 2024
1 parent 9f711d1 commit 7cc1413
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 7 deletions.
19 changes: 12 additions & 7 deletions internal/common/cloudproviderapi/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,18 @@ import (
)

type Client struct {
authToken string
apiURL url.URL
client *http.Client
authToken string
apiURL url.URL
client *http.Client
defaultHeaders map[string]string
}

const (
defaultRetries = 3
defaultTimeout = 90 * time.Second
)

func NewClient(authToken string, rawAPIURL string, client *http.Client) (*Client, error) {
func NewClient(authToken string, rawAPIURL string, client *http.Client, defaultHeaders map[string]string) (*Client, error) {
parsedAPIURL, err := url.Parse(rawAPIURL)
if err != nil {
return nil, fmt.Errorf("failed to parse Cloud Provider API url: %w", err)
Expand All @@ -38,9 +39,10 @@ func NewClient(authToken string, rawAPIURL string, client *http.Client) (*Client
}

return &Client{
authToken: authToken,
apiURL: *parsedAPIURL,
client: client,
authToken: authToken,
apiURL: *parsedAPIURL,
client: client,
defaultHeaders: defaultHeaders,
}, nil
}

Expand Down Expand Up @@ -195,6 +197,9 @@ func (c *Client) doAPIRequest(ctx context.Context, method string, path string, b
}
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", c.authToken))
req.Header.Add("Content-Type", "application/json")
for k, v := range c.defaultHeaders {
req.Header.Add(k, v)
}

resp, err = c.client.Do(req)
if err != nil {
Expand Down
6 changes: 6 additions & 0 deletions pkg/provider/configure_clients.go
Original file line number Diff line number Diff line change
Expand Up @@ -179,10 +179,16 @@ func createOnCallClient(providerConfig ProviderConfig) (*onCallAPI.Client, error
}

func createCloudProviderClient(client *common.Client, providerConfig ProviderConfig) error {
providerHeaders, err := getHTTPHeadersMap(providerConfig)
if err != nil {
return fmt.Errorf("failed to get provider default HTTP headers: %w", err)
}

apiClient, err := cloudproviderapi.NewClient(
providerConfig.CloudProviderAccessToken.ValueString(),
providerConfig.CloudProviderURL.ValueString(),
getRetryClient(providerConfig),
providerHeaders,
)
if err != nil {
return err
Expand Down

0 comments on commit 7cc1413

Please sign in to comment.