From f0cb4a8ba0e72c7004083ac2d9337e8bf3932c7e Mon Sep 17 00:00:00 2001 From: Wallace Soares Date: Thu, 23 Jan 2025 10:46:59 -0300 Subject: [PATCH] Adding more info to user-agent --- incognia.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/incognia.go b/incognia.go index 91cef97..10da809 100644 --- a/incognia.go +++ b/incognia.go @@ -7,6 +7,8 @@ import ( "fmt" "io/ioutil" "net/http" + "runtime" + "runtime/debug" "time" ) @@ -384,7 +386,27 @@ func (c *Client) registerLogin(login *Login) (*TransactionAssessment, error) { } func (c *Client) doRequest(request *http.Request, response interface{}) error { + buildInfo, ok := debug.ReadBuildInfo() + goVersion := "unknown" + libVersion := "unknown" + if ok { + if buildInfo.Main.Version != "(devel)" { + libVersion = buildInfo.Main.Version + } + + goVersion = buildInfo.GoVersion + } + + userAgent := fmt.Sprintf( + "incognia-api-go/%s (%s %s) Go/%s", + libVersion, + runtime.GOOS, + runtime.GOARCH, + goVersion, + ) + request.Header.Add("Content-Type", "application/json") + request.Header.Add("user-agent", userAgent) err := c.authorizeRequest(request) if err != nil {