Monorepo for Tangled tangled.org
5

Configure Feed

Select the types of activity you want to include in your feed.

1package xrpc 2 3import ( 4 "fmt" 5 "net/http" 6 "runtime/debug" 7 8 "tangled.org/core/api/tangled" 9) 10 11// version is set during build time. 12var version string 13 14func (x *Xrpc) Version(w http.ResponseWriter, r *http.Request) { 15 if version == "" { 16 info, ok := debug.ReadBuildInfo() 17 if !ok { 18 http.Error(w, "failed to read build info", http.StatusInternalServerError) 19 return 20 } 21 22 modVer := info.Main.Version 23 if modVer == "" || modVer == "(devel)" { 24 modVer = "(devel)" 25 } 26 27 var sha string 28 var modified bool 29 for _, setting := range info.Settings { 30 switch setting.Key { 31 case "vcs.revision": 32 sha = setting.Value 33 case "vcs.modified": 34 modified = setting.Value == "true" 35 } 36 } 37 38 if sha == "" { 39 version = modVer 40 } else if modified { 41 version = fmt.Sprintf("%s (%s with modifications)", modVer, sha) 42 } else { 43 version = fmt.Sprintf("%s (%s)", modVer, sha) 44 } 45 } 46 47 response := tangled.KnotVersion_Output{ 48 Version: version, 49 } 50 51 x.writeJson(w, response) 52}