Distinguish between status messages and resource messages in SSE
This commit is contained in:
parent
38359e20e9
commit
52c41e29d8
14 changed files with 106 additions and 41 deletions
|
|
@ -1,6 +1,43 @@
|
|||
package main
|
||||
package version
|
||||
|
||||
var (
|
||||
Version = "dev"
|
||||
Commit = "none"
|
||||
import (
|
||||
"runtime/debug"
|
||||
"time"
|
||||
)
|
||||
|
||||
type VersionInfo struct {
|
||||
BuildTime time.Time
|
||||
IsModified bool
|
||||
Revision string
|
||||
}
|
||||
|
||||
func Get() VersionInfo {
|
||||
info, ok := debug.ReadBuildInfo()
|
||||
if !ok {
|
||||
return VersionInfo{
|
||||
BuildTime: time.Now(),
|
||||
IsModified: false,
|
||||
Revision: "unknown",
|
||||
}
|
||||
}
|
||||
|
||||
var version VersionInfo
|
||||
for _, setting := range info.Settings {
|
||||
switch setting.Key {
|
||||
case "vcs.modified":
|
||||
version.IsModified = setting.Value == "true"
|
||||
case "vcs.revision":
|
||||
if len(setting.Value) > 7 {
|
||||
version.Revision = setting.Value[:7]
|
||||
} else {
|
||||
version.Revision = setting.Value
|
||||
}
|
||||
case "vcs.time":
|
||||
if t, err := time.Parse(time.RFC3339, setting.Value); err == nil {
|
||||
version.BuildTime = t
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return version
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue