impl public status endpoint
parent
a6a9b177e9
commit
8314bdc457
|
|
@ -13,6 +13,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
"time"
|
||||||
|
|
||||||
"gopkg.in/yaml.v2"
|
"gopkg.in/yaml.v2"
|
||||||
)
|
)
|
||||||
|
|
@ -148,10 +149,21 @@ func (v01 *V01) serveGlobalQueryRefresh(r *http.Request) {
|
||||||
func (v01 *V01) serveGM(w http.ResponseWriter, r *http.Request) {
|
func (v01 *V01) serveGM(w http.ResponseWriter, r *http.Request) {
|
||||||
switch r.URL.Path {
|
switch r.URL.Path {
|
||||||
case "/gm/rpc/publicStatus":
|
case "/gm/rpc/publicStatus":
|
||||||
|
users := map[string]interface{}{}
|
||||||
|
for k, v := range v01.cfg.Users {
|
||||||
|
v2 := map[string]interface{}{
|
||||||
|
"Last Activity": time.Since(time.Unix(0, v.LastTSMS/int64(time.Millisecond))),
|
||||||
|
"Lag": time.Duration(v.LastLag) / time.Millisecond,
|
||||||
|
}
|
||||||
|
if v.Player > 0 {
|
||||||
|
v2["Player"] = v.Player
|
||||||
|
}
|
||||||
|
users[k] = v2
|
||||||
|
}
|
||||||
yaml.NewEncoder(w).Encode(map[string]interface{}{
|
yaml.NewEncoder(w).Encode(map[string]interface{}{
|
||||||
"Players": len(v01.cfg.Players),
|
"Players": len(v01.cfg.Players),
|
||||||
|
"Users": users,
|
||||||
})
|
})
|
||||||
panic("TODO")
|
|
||||||
case "/gm/rpc/markMessageRead":
|
case "/gm/rpc/markMessageRead":
|
||||||
v01.cfg.Quiet = true
|
v01.cfg.Quiet = true
|
||||||
for k, v := range v01.cfg.Users {
|
for k, v := range v01.cfg.Users {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue