Skip to content

Commit

Permalink
Merge pull request #135 from imjaroiswebdev/fix-hardcoded-user-agent
Browse files Browse the repository at this point in the history
Fix user agent hardcoded
  • Loading branch information
imjaroiswebdev authored Jun 30, 2023
2 parents 346f135 + ccf76cf commit 94c60de
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 5 deletions.
11 changes: 6 additions & 5 deletions pagerduty/pagerduty.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import (
)

const (
defaultBaseURL = "https://api.pagerduty.com"
defaultBaseURL = "https://api.pagerduty.com"
defaultUserAgent = "heimweh/go-pagerduty(terraform)"
)

type service struct {
Expand Down Expand Up @@ -96,7 +97,9 @@ func NewClient(config *Config) (*Client, error) {
config.BaseURL = defaultBaseURL
}

config.UserAgent = "heimweh/go-pagerduty(terraform)"
if config.UserAgent == "" {
config.UserAgent = defaultUserAgent
}

baseURL, err := url.Parse(config.BaseURL)
if err != nil {
Expand Down Expand Up @@ -186,10 +189,8 @@ func (c *Client) newRequestContext(ctx context.Context, method, url string, body
req.Header.Add("Accept", "application/vnd.pagerduty+json;version=2")
req.Header.Add("Authorization", fmt.Sprintf("Token token=%s", c.Config.Token))
req.Header.Add("Content-Type", "application/json")
req.Header.Add("User-Agent", c.Config.UserAgent)

if c.Config.UserAgent != "" {
req.Header.Add("User-Agent", c.Config.UserAgent)
}
return req, nil
}

Expand Down
22 changes: 22 additions & 0 deletions pagerduty/pagerduty_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,25 @@ func testQueryCount(t *testing.T, r *http.Request, count int) {
t.Errorf("Request contained unexpected number of query params: %v, want exactly %v", l, count)
}
}
func TestClientUserAgentDefault(t *testing.T) {
client, err := NewClient(&Config{Token: "foo"})
if err != nil {
t.Fatal(err)
}

if client.Config.UserAgent != defaultUserAgent {
t.Errorf("got %q, want %q", client.Config.UserAgent, defaultUserAgent)
}
}

func TestClientUserAgentOverwritten(t *testing.T) {
newUserAgent := "foo-user-agent"
client, err := NewClient(&Config{Token: "foo", UserAgent: newUserAgent})
if err != nil {
t.Fatal(err)
}

if client.Config.UserAgent != newUserAgent {
t.Errorf("got %q, want %q", client.Config.UserAgent, newUserAgent)
}
}

0 comments on commit 94c60de

Please sign in to comment.