diff --git a/pkg/config/config.go b/pkg/config/config.go index 5a6a0cf9..e1544e62 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -21,6 +21,7 @@ import ( "io/ioutil" "os" "path/filepath" + "runtime" "github.com/ProtonMail/go-appdir" "github.com/hashicorp/go-multierror" @@ -247,3 +248,17 @@ func (c *Config) GetDefaultIMAPPort() int { func (c *Config) GetDefaultSMTPPort() int { return 1025 } + +// getAPIOS returns actual operating system. +func (c *Config) getAPIOS() string { + switch os := runtime.GOOS; os { + case "darwin": // nolint: goconst + return "macOS" + case "linux": + return "Linux" + case "windows": + return "Windows" + } + + return "Linux" +} diff --git a/pkg/config/pmapi_noprod.go b/pkg/config/pmapi_noprod.go index 653d1afb..ec1c093d 100644 --- a/pkg/config/pmapi_noprod.go +++ b/pkg/config/pmapi_noprod.go @@ -29,7 +29,7 @@ import ( func (c *Config) GetAPIConfig() *pmapi.ClientConfig { return &pmapi.ClientConfig{ - AppVersion: strings.Title(c.appName) + "_" + c.version, + AppVersion: c.getAPIOS() + strings.Title(c.appName) + "_" + c.version, ClientID: c.appName, } } diff --git a/pkg/config/pmapi_prod.go b/pkg/config/pmapi_prod.go index 38cd22a6..fde1274c 100644 --- a/pkg/config/pmapi_prod.go +++ b/pkg/config/pmapi_prod.go @@ -31,7 +31,7 @@ import ( func (c *Config) GetAPIConfig() *pmapi.ClientConfig { return &pmapi.ClientConfig{ - AppVersion: strings.Title(c.appName) + "_" + c.version, + AppVersion: c.getAPIOS() + strings.Title(c.appName) + "_" + c.version, ClientID: c.appName, Timeout: 25 * time.Minute, // Overall request timeout (~25MB / 25 mins => ~16kB/s, should be reasonable). FirstReadTimeout: 30 * time.Second, // 30s to match 30s response header timeout.