mirror of
https://github.com/owncast/owncast.git
synced 2024-11-22 04:40:37 +03:00
Consolidate the ping and status request APIs
This commit is contained in:
parent
ba4a4b0b13
commit
b96cd2e93e
3 changed files with 12 additions and 24 deletions
|
@ -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)
|
|
||||||
}
|
|
|
@ -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"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue