From 706c1c6bdf8b7c37b23efaaaf393c8c2e3e3b2fe Mon Sep 17 00:00:00 2001 From: YouROK <8yourok8@mail.ru> Date: Wed, 16 Dec 2020 17:00:28 +0300 Subject: [PATCH] change wait info torrent --- src/server/torr/stream.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/server/torr/stream.go b/src/server/torr/stream.go index aa87215..05e64f6 100644 --- a/src/server/torr/stream.go +++ b/src/server/torr/stream.go @@ -2,15 +2,20 @@ package torr import ( "errors" + "fmt" "log" "net/http" "time" + "github.com/anacrolix/missinggo/httptoo" sets "server/settings" ) func (t *Torrent) Stream(fileIndex int, req *http.Request, resp http.ResponseWriter) error { - t.WaitInfo() + if !t.GotInfo() { + http.NotFound(resp, req) + return errors.New("torrent don't get info") + } files := t.Files() if fileIndex < 1 || fileIndex > len(files) { return errors.New("file index out of range") @@ -22,9 +27,8 @@ func (t *Torrent) Stream(fileIndex int, req *http.Request, resp http.ResponseWri sets.SetViewed(&sets.Viewed{t.Hash().HexString(), fileIndex}) - //TODO проверить почему плеер постоянно переподключается resp.Header().Set("Connection", "close") - //resp.Header().Set("ETag", httptoo.EncodeQuotedString(fmt.Sprintf("%s/%s", t.Hash().HexString(), file.Path()))) + resp.Header().Set("ETag", httptoo.EncodeQuotedString(fmt.Sprintf("%s/%s", t.Hash().HexString(), file.Path()))) http.ServeContent(resp, req, file.Path(), time.Unix(t.Timestamp, 0), reader)