Consolidate the ping and status request APIs

This commit is contained in:
Gabe Kangas 2021-06-10 22:07:56 -07:00
parent ba4a4b0b13
commit b96cd2e93e
3 changed files with 12 additions and 24 deletions

View file

@ -1,13 +0,0 @@
package controllers
import (
"net/http"
"github.com/owncast/owncast/core"
"github.com/owncast/owncast/utils"
)
func Ping(w http.ResponseWriter, r *http.Request) {
id := utils.GenerateClientIDFromRequest(r)
core.SetViewerIdActive(id)
}

View file

@ -15,27 +15,31 @@ func GetStatus(w http.ResponseWriter, r *http.Request) {
status := core.GetStatus() status := core.GetStatus()
response := webStatusResponse{ response := webStatusResponse{
Online: status.Online, Online: status.Online,
ViewerCount: status.ViewerCount, ViewerCount: status.ViewerCount,
LastConnectTime: status.LastConnectTime, LastConnectTime: status.LastConnectTime,
LastDisconnectTime: status.LastDisconnectTime, LastDisconnectTime: status.LastDisconnectTime,
VersionNumber: status.VersionNumber, VersionNumber: status.VersionNumber,
StreamTitle: status.StreamTitle, StreamTitle: status.StreamTitle,
} }
w.Header().Set("Content-Type", "application/json") w.Header().Set("Content-Type", "application/json")
if err := json.NewEncoder(w).Encode(response); err != nil { if err := json.NewEncoder(w).Encode(response); err != nil {
InternalErrorHandler(w, err) InternalErrorHandler(w, err)
} }
// Mark the user who requested this status as an active viewer
id := utils.GenerateClientIDFromRequest(r)
core.SetViewerIdActive(id)
} }
type webStatusResponse struct { type webStatusResponse struct {
Online bool `json:"online"` Online bool `json:"online"`
ViewerCount int `json:"viewerCount"` ViewerCount int `json:"viewerCount"`
LastConnectTime utils.NullTime `json:"lastConnectTime"` LastConnectTime utils.NullTime `json:"lastConnectTime"`
LastDisconnectTime utils.NullTime `json:"lastDisconnectTime"` LastDisconnectTime utils.NullTime `json:"lastDisconnectTime"`
VersionNumber string `json:"versionNumber"` VersionNumber string `json:"versionNumber"`
StreamTitle string `json:"streamTitle"` StreamTitle string `json:"streamTitle"`
} }

View file

@ -62,9 +62,6 @@ func Start() error {
// return the list of video variants available // return the list of video variants available
http.HandleFunc("/api/video/variants", controllers.GetVideoStreamOutputVariants) http.HandleFunc("/api/video/variants", controllers.GetVideoStreamOutputVariants)
// tell the backend you're an active viewer
http.HandleFunc("/api/ping", controllers.Ping)
// Authenticated admin requests // Authenticated admin requests
// Current inbound broadcaster // Current inbound broadcaster