version.go raw

   1  package linodego
   2  
   3  import (
   4  	"fmt"
   5  	"runtime/debug"
   6  )
   7  
   8  const packagePath = "github.com/linode/linodego"
   9  
  10  var (
  11  	Version = "dev"
  12  
  13  	// DefaultUserAgent is the default User-Agent sent in HTTP request headers
  14  	DefaultUserAgent string
  15  )
  16  
  17  // init attempts to source the version from the build info injected
  18  // at runtime and sets the DefaultUserAgent.
  19  func init() {
  20  	buildInfo, ok := debug.ReadBuildInfo()
  21  	if ok {
  22  		for _, dep := range buildInfo.Deps {
  23  			if dep.Path == packagePath {
  24  				if dep.Replace != nil {
  25  					Version = dep.Replace.Version
  26  				}
  27  
  28  				Version = dep.Version
  29  
  30  				break
  31  			}
  32  		}
  33  	}
  34  
  35  	DefaultUserAgent = fmt.Sprintf("linodego/%s https://github.com/linode/linodego", Version)
  36  }
  37