|
|
|
@ -6,6 +6,7 @@ import (
@@ -6,6 +6,7 @@ import (
|
|
|
|
|
|
|
|
|
|
"github.com/owncast/owncast/core" |
|
|
|
|
"github.com/owncast/owncast/router/middleware" |
|
|
|
|
"github.com/owncast/owncast/utils" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
// GetStatus gets the status of the server.
|
|
|
|
@ -13,9 +14,28 @@ func GetStatus(w http.ResponseWriter, r *http.Request) {
@@ -13,9 +14,28 @@ func GetStatus(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
middleware.EnableCors(&w) |
|
|
|
|
|
|
|
|
|
status := core.GetStatus() |
|
|
|
|
w.Header().Set("Content-Type", "application/json") |
|
|
|
|
response := webStatusResponse{ |
|
|
|
|
Online: status.Online, |
|
|
|
|
ViewerCount: status.ViewerCount, |
|
|
|
|
LastConnectTime: status.LastConnectTime, |
|
|
|
|
LastDisconnectTime: status.LastDisconnectTime, |
|
|
|
|
VersionNumber: status.VersionNumber, |
|
|
|
|
StreamTitle: status.StreamTitle, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if err := json.NewEncoder(w).Encode(status); err != nil { |
|
|
|
|
w.Header().Set("Content-Type", "application/json") |
|
|
|
|
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"` |
|
|
|
|
} |