Skip to content

Commit 86295f3

Browse files
authored
Revert "feat: enhance user-agent logic" (#14)
Rollback of BREAKING CHANGE. This PR reverts #12 to previous behavior (user-agent prepending instead of appending)
1 parent ff926ad commit 86295f3

File tree

9 files changed

+31
-32
lines changed

9 files changed

+31
-32
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ After that initialize `Client` with the retrieved token.
4545

4646
### Usage example
4747

48-
> [!NOTE] It is highly recommended to use the `WithClientUserAgent` option to set a custom User-Agent for the client.
48+
> [!NOTE] It is highly recommended to use the `WithUserAgentPrefix` option to set a custom User-Agent for the client.
4949
5050
```go
5151
package main
@@ -63,13 +63,13 @@ func main() {
6363
// It should be Service User Token
6464
token := "gAAAAABeVNzu-..."
6565

66-
// A client User-Agent.
67-
userAgent := "iam-custom"
66+
// A Prefix to be added to User-Agent.
67+
prefix := "iam-custom"
6868

6969
// Create a new IAM client.
7070
iamClient, err := iam.New(
7171
iam.WithAuthOpts(&iam.AuthOpts{KeystoneToken: token}),
72-
iam.WithClientUserAgent(userAgent),
72+
iam.WithUserAgentPrefix(prefix),
7373
)
7474
// Handle the error.
7575
if err != nil {

examples/federation-with-user/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ var (
2525
token = "gAAAAA..."
2626
deleteAfterRun = false
2727

28-
// Client User-Agent to be added.
29-
clientUserAgent = "iam-go"
28+
// Prefix to be added to User-Agent.
29+
prefix = "iam-go"
3030

3131
federationName = "federation_name"
3232
federationDescription = "federation_description"
@@ -45,7 +45,7 @@ func main() {
4545
// Create a new IAM client.
4646
iamClient, err := iam.New(
4747
iam.WithAuthOpts(&iam.AuthOpts{KeystoneToken: token}),
48-
iam.WithClientUserAgent(clientUserAgent),
48+
iam.WithUserAgentPrefix(prefix),
4949
)
5050
if err != nil {
5151
fmt.Println(err)

examples/group-with-user/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ var (
2727
token = "gAAAAA..."
2828
deleteAfterRun = false
2929

30-
// Client User-Agent to be added.
31-
clientUserAgent = "iam-go"
30+
// Prefix to be added to User-Agent.
31+
prefix = "iam-go"
3232

3333
groupName = "test_group_name"
3434
description = "group_description"
@@ -41,7 +41,7 @@ func main() {
4141
// Create a new IAM client.
4242
iamClient, err := iam.New(
4343
iam.WithAuthOpts(&iam.AuthOpts{KeystoneToken: token}),
44-
iam.WithClientUserAgent(clientUserAgent),
44+
iam.WithUserAgentPrefix(prefix),
4545
)
4646
if err != nil {
4747
fmt.Println(err)

examples/s3credentials-create-delete/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ var (
1212
token = "gAAAAA..."
1313
deleteAfterRun = false
1414

15-
// Client User-Agent to be added.
16-
clientUserAgent = "iam-go"
15+
// Prefix to be added to User-Agent.
16+
prefix = "iam-go"
1717

1818
// ID of the User to create S3 Credentials for.
1919
userID = "a1b2c3..."
@@ -29,7 +29,7 @@ func main() {
2929
// Create a new IAM client.
3030
iamClient, err := iam.New(
3131
iam.WithAuthOpts(&iam.AuthOpts{KeystoneToken: token}),
32-
iam.WithClientUserAgent(clientUserAgent),
32+
iam.WithUserAgentPrefix(prefix),
3333
)
3434
// Handle the error.
3535
if err != nil {

examples/serviceuser-create-update-delete/main.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,10 @@ var (
2222
token = "gAAAAA..."
2323
deleteAfterRun = false
2424

25-
// Client User-Agent to be added.
26-
clientUserAgent = "iam-go"
27-
25+
// Prefix to be added to User-Agent.
26+
prefix = "iam-go"
2827
// Name of the Service User to create.
2928
name = "service-user"
30-
3129
// Password of the Service User to create.
3230
password = "Qazwsxedc123"
3331
)
@@ -36,7 +34,7 @@ func main() {
3634
// Create a new IAM client.
3735
iamClient, err := iam.New(
3836
iam.WithAuthOpts(&iam.AuthOpts{KeystoneToken: token}),
39-
iam.WithClientUserAgent(clientUserAgent),
37+
iam.WithUserAgentPrefix(prefix),
4038
)
4139
if err != nil {
4240
fmt.Println(err)

examples/transfer-role/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@ func main() {
2121
// KeystoneToken
2222
token := "gAAAAA..."
2323

24-
// Client User-Agent to be added.
25-
clientUserAgent := "iam-go"
24+
// Prefix to be added to User-Agent.
25+
prefix := "iam-go"
2626

2727
// ID of the User to assign role to.
2828
userID := "654321_65432"
2929

3030
// Create a new IAM client.
3131
iamClient, err := iam.New(
3232
iam.WithAuthOpts(&iam.AuthOpts{KeystoneToken: token}),
33-
iam.WithClientUserAgent(clientUserAgent),
33+
iam.WithUserAgentPrefix(prefix),
3434
)
3535
// Handle the error.
3636
if err != nil {

examples/user-create-delete/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ var (
2222
token = "gAAAAA..."
2323
deleteAfterRun = false
2424

25-
// Client User-Agent to be added.
26-
clientUserAgent = "iam-go"
25+
// Prefix to be added to User-Agent.
26+
prefix = "iam-go"
2727

2828
// Email of the User to create.
2929
email = "testmail@example.com"
@@ -33,7 +33,7 @@ func main() {
3333
// Create a new IAM client.
3434
iamClient, err := iam.New(
3535
iam.WithAuthOpts(&iam.AuthOpts{KeystoneToken: token}),
36-
iam.WithClientUserAgent(clientUserAgent),
36+
iam.WithUserAgentPrefix(prefix),
3737
)
3838
// Handle the error.
3939
if err != nil {

iam.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,12 @@ func WithAuthOpts(authOpts *AuthOpts) Option {
9595
}
9696
}
9797

98-
// WithClientUserAgent is a functional parameter for Client, used to set a custom User-Agent postfix.
98+
// WithUserAgentPrefix is a functional parameter for Client, used to set a custom prefix.
9999
//
100100
// It is highly recommended to use this option!
101-
func WithClientUserAgent(userAgent string) Option {
101+
func WithUserAgentPrefix(prefix string) Option {
102102
return func(c *Client) {
103-
c.baseClient.ClientUserAgent = userAgent
103+
c.baseClient.UserAgentPrefix = prefix
104104
}
105105
}
106106

@@ -129,9 +129,10 @@ func New(opts ...Option) (*Client, error) {
129129

130130
appVersion := findModuleVersion()
131131
userAgent := appName + "/" + appVersion
132-
c.baseClient.UserAgent = userAgent
133-
if c.baseClient.ClientUserAgent != "" {
134-
c.baseClient.UserAgent += " " + c.baseClient.ClientUserAgent
132+
if c.baseClient.UserAgentPrefix == "" {
133+
c.baseClient.UserAgent = userAgent
134+
} else {
135+
c.baseClient.UserAgent = c.baseClient.UserAgentPrefix + " " + userAgent
135136
}
136137

137138
c.Users = users.New(c.baseClient)

internal/client/client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ type BaseClient struct {
3030
// UserAgent represents a User-Agent to be added to all requests.
3131
UserAgent string
3232

33-
// ClientUserAgent contains custom User-Agent postfix to be added.
34-
ClientUserAgent string
33+
// UserAgentPrefix contains custom prefix to be added to userAgent.
34+
UserAgentPrefix string
3535
}
3636

3737
// DoRequest performs the HTTP request with the current Client.HTTPClient and given User-Agent prefix.

0 commit comments

Comments
 (0)