From 001faf7a975ae94872801e7fbba2d8f20bdb59f1 Mon Sep 17 00:00:00 2001 From: YouROK <8yourok8@mail.ru> Date: Thu, 11 Mar 2021 15:12:46 +0300 Subject: [PATCH] fix crash --- server/web/api/stream.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/server/web/api/stream.go b/server/web/api/stream.go index c92880d..58b993d 100644 --- a/server/web/api/stream.go +++ b/server/web/api/stream.go @@ -7,6 +7,7 @@ import ( "strings" "server/torr" + "server/torr/state" "server/web/api/utils" "github.com/gin-gonic/gin" @@ -36,6 +37,7 @@ func stream(c *gin.Context) { _, play := c.GetQuery("play") title := c.Query("title") poster := c.Query("poster") + data := "" notAuth := c.GetBool("not_auth") if notAuth && play { @@ -53,6 +55,7 @@ func stream(c *gin.Context) { return } + title, _ = url.QueryUnescape(title) link, _ = url.QueryUnescape(link) poster, _ = url.QueryUnescape(poster) @@ -63,16 +66,19 @@ func stream(c *gin.Context) { } tor := torr.GetTorrent(spec.InfoHash.HexString()) - if tor == nil { + if tor != nil { + title = tor.Title + poster = tor.Poster + data = tor.Data + } + if tor == nil || tor.Stat == state.TorrentInDB { if title == "" { title = c.Param("fname") title, _ = url.PathUnescape(title) title = strings.TrimLeft(title, "/") - } else { - title, _ = url.QueryUnescape(title) } - tor, err = torr.AddTorrent(spec, title, poster, "") + tor, err = torr.AddTorrent(spec, title, poster, data) if err != nil { c.AbortWithError(http.StatusInternalServerError, err) return