version: add user agent string

pull/304/head
Oliver Gugger 4 years ago
parent a6956a4e06
commit f36b105135
No known key found for this signature in database
GPG Key ID: 8E4256593F177720

@ -29,11 +29,37 @@ const (
// appPreRelease MUST only contain characters from semanticAlphabet per // appPreRelease MUST only contain characters from semanticAlphabet per
// the semantic versioning spec. // the semantic versioning spec.
appPreRelease = "beta" appPreRelease = "beta"
// defaultAgentName is the default name of the software that is added as
// the first part of the user agent string.
defaultAgentName = "loopd"
) )
// AgentName stores the name of the software that is added as the first part of
// the user agent string. This defaults to the value "loopd" when being run as
// a standalone component but can be overwritten by LiT for example when loopd
// is integrated into the UI.
var AgentName = defaultAgentName
// Version returns the application version as a properly formed string per the // Version returns the application version as a properly formed string per the
// semantic versioning 2.0.0 spec (http://semver.org/). // semantic versioning 2.0.0 spec (http://semver.org/) and the commit it was
// built on.
func Version() string { func Version() string {
// Append commit hash of current build to version.
return fmt.Sprintf("%s commit=%s", semanticVersion(), Commit)
}
// UserAgent returns the full user agent string that identifies the software
// that is submitting swaps to the loop server.
func UserAgent() string {
// Assemble full string, including the commit hash of current build.
return fmt.Sprintf(
"%s/v%s/commit=%s", AgentName, semanticVersion(), Commit,
)
}
// semanticVersion returns the SemVer part of the version.
func semanticVersion() string {
// Start with the major, minor, and patch versions. // Start with the major, minor, and patch versions.
version := fmt.Sprintf("%d.%d.%d", appMajor, appMinor, appPatch) version := fmt.Sprintf("%d.%d.%d", appMajor, appMinor, appPatch)
@ -46,9 +72,6 @@ func Version() string {
version = fmt.Sprintf("%s-%s", version, preRelease) version = fmt.Sprintf("%s-%s", version, preRelease)
} }
// Append commit hash of current build to version.
version = fmt.Sprintf("%s commit=%s", version, Commit)
return version return version
} }

Loading…
Cancel
Save