This commit is contained in:
2023-01-10 19:10:20 +01:00
parent e590714391
commit 9aef8fc47b
34 changed files with 780 additions and 3 deletions

68
server/handlers.go Normal file
View File

@@ -0,0 +1,68 @@
package server
import (
"log"
"github.com/goccy/go-json"
"github.com/gofiber/websocket/v2"
)
// Websocket handlers
func download(c *websocket.Conn) {
req := DownloadRequest{}
c.ReadJSON(&req)
p := Process{mem: &db, url: req.Url, params: req.Params}
p.Start()
c.WriteJSON(req)
}
func getFormats(c *websocket.Conn) {
log.Println("Requesting formats")
mtype, msg, _ := c.ReadMessage()
req := DownloadRequest{}
json.Unmarshal(msg, &req)
p := Process{mem: &db, url: req.Url}
p.GetFormatsSync()
c.WriteMessage(mtype, msg)
}
func status(c *websocket.Conn) {
mtype, _, _ := c.ReadMessage()
all := db.All()
msg, _ := json.Marshal(all)
c.WriteMessage(mtype, msg)
}
func abort(c *websocket.Conn) {
mtype, msg, _ := c.ReadMessage()
req := AbortRequest{}
json.Unmarshal(msg, &req)
p := db.Get(req.Id)
p.Kill()
c.WriteMessage(mtype, msg)
}
func abortAll(c *websocket.Conn) {
keys := db.Keys()
for _, key := range keys {
proc := db.Get(key)
if proc != nil {
proc.Kill()
}
}
}
func hotUpdate(c *websocket.Conn) {
}