ScuttleBot
| 2d8a379… | lmata | 1 | package api |
| 2d8a379… | lmata | 2 | |
| 2d8a379… | lmata | 3 | import ( |
| 2d8a379… | lmata | 4 | "net/http" |
| 2d8a379… | lmata | 5 | "time" |
| 2d8a379… | lmata | 6 | ) |
| 2d8a379… | lmata | 7 | |
| 2d8a379… | lmata | 8 | var startTime = time.Now() |
| 2d8a379… | lmata | 9 | |
| 2d8a379… | lmata | 10 | type statusResponse struct { |
| 2d8a379… | lmata | 11 | Status string `json:"status"` |
| 2d8a379… | lmata | 12 | Uptime string `json:"uptime"` |
| 2d8a379… | lmata | 13 | Agents int `json:"agents"` |
| 2d8a379… | lmata | 14 | Started time.Time `json:"started"` |
| 2d8a379… | lmata | 15 | } |
| 2d8a379… | lmata | 16 | |
| 2d8a379… | lmata | 17 | func (s *Server) handleStatus(w http.ResponseWriter, r *http.Request) { |
| 2d8a379… | lmata | 18 | agents := s.registry.List() |
| 2d8a379… | lmata | 19 | writeJSON(w, http.StatusOK, statusResponse{ |
| 2d8a379… | lmata | 20 | Status: "ok", |
| 2d8a379… | lmata | 21 | Uptime: time.Since(startTime).Round(time.Second).String(), |
| 2d8a379… | lmata | 22 | Agents: len(agents), |
| 2d8a379… | lmata | 23 | Started: startTime, |
| 2d8a379… | lmata | 24 | }) |
| 2d8a379… | lmata | 25 | } |