Skip to content

Commit

Permalink
Fix: User Agent and trace logger
Browse files Browse the repository at this point in the history
  • Loading branch information
kavya498 committed Nov 9, 2021
1 parent ffc4e11 commit e270848
Show file tree
Hide file tree
Showing 31 changed files with 51 additions and 42 deletions.
2 changes: 1 addition & 1 deletion api/account/accountv1/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (AccountServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/account/accountv2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (AccountServiceAPI, error) {
}
tokenRefreher, err := authentication.NewUAARepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/certificatemanager/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (CertificateManagerServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/cis/cisv1/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func New(sess *session.Session) (CisServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/container/containerv1/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func New(sess *session.Session) (ContainerServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/container/containerv2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func New(sess *session.Session) (ContainerServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/container/registryv1/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ func New(sess *session.Session) (RegistryServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/cse/csev2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func New(sess *session.Session) (CseServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
4 changes: 2 additions & 2 deletions api/functions/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (FunctionServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down Expand Up @@ -75,7 +75,7 @@ func NewCF(sess *session.Session) (FunctionServiceAPI, error) {
}
tokenRefreher, err := authentication.NewUAARepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/globalsearch/globalsearchv2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (GlobalSearchServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/globaltagging/globaltaggingv3/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (GlobalTaggingServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/hpcs/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (HPCSV2, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/iam/iamv1/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func New(sess *session.Session) (IAMServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/iampap/iampapv1/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func New(sess *session.Session) (IAMPAPAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/iampap/iampapv2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (IAMPAPAPIV2, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/iamuum/iamuumv1/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func New(sess *session.Session) (IAMUUMServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/iamuum/iamuumv2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func New(sess *session.Session) (IAMUUMServiceAPIv2, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/icd/icdv4/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func New(sess *session.Session) (ICDServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/mccp/mccpv2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func New(sess *session.Session) (MccpServiceAPI, error) {
}
tokenRefreher, err := authentication.NewUAARepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/resource/resourcev1/catalog/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (ResourceCatalogAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/resource/resourcev1/controller/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func New(sess *session.Session) (ResourceControllerAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/resource/resourcev1/management/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func New(sess *session.Session) (ResourceManagementAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/resource/resourcev2/controllerv2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (ResourceControllerAPIV2, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/resource/resourcev2/managementv2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func New(sess *session.Session) (ResourceManagementAPIv2, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/satellite/satellitev1/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (SatelliteServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/schematics/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func New(sess *session.Session) (SchematicsServiceAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
2 changes: 1 addition & 1 deletion api/usermanagement/usermanagementv2/api_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func New(sess *session.Session) (UserManagementAPI, error) {
}
tokenRefreher, err := authentication.NewIAMAuthRepository(config, &rest.Client{
DefaultHeader: gohttp.Header{
"User-Agent": []string{http.UserAgent()},
"X-Original-User-Agent": []string{config.UserAgent},
},
HTTPClient: config.HTTPClient,
})
Expand Down
26 changes: 14 additions & 12 deletions client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (

bluemix "github.com/IBM-Cloud/bluemix-go"
"github.com/IBM-Cloud/bluemix-go/bmxerror"
"github.com/IBM-Cloud/bluemix-go/http"
"github.com/IBM-Cloud/bluemix-go/rest"
)

Expand Down Expand Up @@ -296,7 +295,7 @@ func cleanPath(p string) string {
}

const (
userAgentHeader = "User-Agent"
userAgentHeader = "X-Original-User-Agent"
authorizationHeader = "Authorization"
uaaAccessTokenHeader = "X-Auth-Uaa-Token"
userAccessTokenHeader = "X-Auth-User-Token"
Expand All @@ -308,46 +307,49 @@ func getDefaultAuthHeaders(serviceName bluemix.ServiceName, c *bluemix.Config) g
h := gohttp.Header{}
switch serviceName {
case bluemix.MccpService, bluemix.AccountService:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.UAAAccessToken)
case bluemix.ContainerService:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)
h.Set(iamRefreshTokenHeader, c.IAMRefreshToken)
h.Set(uaaAccessTokenHeader, c.UAAAccessToken)
case bluemix.VpcContainerService:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)
h.Set(iamRefreshTokenHeader, c.IAMRefreshToken)
case bluemix.SchematicsService:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)
h.Set(iamRefreshTokenHeader, c.IAMRefreshToken)
case bluemix.ContainerRegistryService:
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)
h.Set(crRefreshTokenHeader, c.IAMRefreshToken)
case bluemix.IAMPAPService, bluemix.AccountServicev1, bluemix.ResourceCatalogrService, bluemix.ResourceControllerService, bluemix.ResourceControllerServicev2, bluemix.ResourceManagementService, bluemix.ResourceManagementServicev2, bluemix.IAMService, bluemix.IAMUUMService, bluemix.IAMUUMServicev2, bluemix.IAMPAPServicev2, bluemix.CseService:
h.Set(authorizationHeader, c.IAMAccessToken)
h.Set(userAgentHeader, c.UserAgent)
case bluemix.UserManagement:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)
case bluemix.CisService:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(userAccessTokenHeader, c.IAMAccessToken)
case bluemix.GlobalSearchService, bluemix.GlobalTaggingService:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)
h.Set(iamRefreshTokenHeader, c.IAMRefreshToken)
case bluemix.ICDService:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)
case bluemix.CertificateManager:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)
case bluemix.HPCService:
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)
case bluemix.FunctionsService:
h.Set(userAgentHeader, http.UserAgent())
h.Set(userAgentHeader, c.UserAgent)
h.Set(authorizationHeader, c.IAMAccessToken)

default:
Expand Down
1 change: 1 addition & 0 deletions config.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ type Config struct {
SSLDisable bool
Visibility string
EndpointsFile string
UserAgent string
}

//Copy allows the configuration to be overriden or added
Expand Down
5 changes: 4 additions & 1 deletion session/session.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
bluemix "github.com/IBM-Cloud/bluemix-go"
"github.com/IBM-Cloud/bluemix-go/endpoints"
"github.com/IBM-Cloud/bluemix-go/helpers"
"github.com/IBM-Cloud/bluemix-go/http"
"github.com/IBM-Cloud/bluemix-go/trace"
)

Expand Down Expand Up @@ -93,7 +94,9 @@ func New(configs ...*bluemix.Config) (*Session, error) {
if c.Debug {
trace.Logger = trace.NewLogger("true")
}

if c.UserAgent == "" {
c.UserAgent = http.UserAgent()
}
return sess, nil
}

Expand Down
5 changes: 4 additions & 1 deletion trace/trace.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,10 @@ func NewLogger(bluemix_trace string) Printer {

// NewStdLogger return a printer that writes to StdOut.
func NewStdLogger() PrinterCloser {
return newLoggerImpl(os.Stderr, "", 0)
if os.Getenv("IBMCLOUD_BLUEMIX_GO_TRACE") != "" {
return newLoggerImpl(os.Stdout, "", 0)
}
return newLoggerImpl(os.Stdin, "", 0)
}

// NewFileLogger return a printer that writes to the given file path.
Expand Down

0 comments on commit e270848

Please sign in to comment.