Browse Source

version: add user agent string

pull/304/head
Oliver Gugger 3 months ago
parent
commit
f36b105135
No known key found for this signature in database GPG Key ID: 8E4256593F177720
1 changed files with 27 additions and 4 deletions
  1. +27
    -4
      version.go

+ 27
- 4
version.go View File

@ -29,11 +29,37 @@ const (
// appPreRelease MUST only contain characters from semanticAlphabet per
// the semantic versioning spec.
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
// 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 {
// 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.
version := fmt.Sprintf("%d.%d.%d", appMajor, appMinor, appPatch)
@ -46,9 +72,6 @@ func Version() string {
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
}

Loading…
Cancel
Save