12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package controllers
- import (
- "encoding/json"
- "net/http"
- "github.com/owncast/owncast/core"
- "github.com/owncast/owncast/router/middleware"
- "github.com/owncast/owncast/utils"
- )
- // GetStatus gets the status of the server.
- func GetStatus(w http.ResponseWriter, r *http.Request) {
- middleware.EnableCors(w)
- status := core.GetStatus()
- response := webStatusResponse{
- Online: status.Online,
- ViewerCount: status.ViewerCount,
- LastConnectTime: status.LastConnectTime,
- LastDisconnectTime: status.LastDisconnectTime,
- VersionNumber: status.VersionNumber,
- StreamTitle: status.StreamTitle,
- }
- w.Header().Set("Content-Type", "application/json")
- middleware.DisableCache(w)
- if err := json.NewEncoder(w).Encode(response); err != nil {
- InternalErrorHandler(w, err)
- }
- }
- type webStatusResponse struct {
- Online bool `json:"online"`
- ViewerCount int `json:"viewerCount"`
- LastConnectTime *utils.NullTime `json:"lastConnectTime"`
- LastDisconnectTime *utils.NullTime `json:"lastDisconnectTime"`
- VersionNumber string `json:"versionNumber"`
- StreamTitle string `json:"streamTitle"`
- }
|