fix http redirect to magnet

This commit is contained in:
YouROK
2021-04-23 11:11:37 +03:00
parent 5185cb546e
commit 7a10ef61e6

View File

@@ -74,17 +74,22 @@ func fromMagnet(link string) (*torrent.TorrentSpec, error) {
}, nil }, nil
} }
func fromHttp(url string) (*torrent.TorrentSpec, error) { func fromHttp(link string) (*torrent.TorrentSpec, error) {
req, err := http.NewRequest("GET", url, nil) req, err := http.NewRequest("GET", link, nil)
if err != nil { if err != nil {
return nil, err return nil, err
} }
client := new(http.Client) client := new(http.Client)
client.Timeout = time.Duration(time.Second * 30) client.Timeout = time.Duration(time.Second * 120)
req.Header.Set("User-Agent", "DWL/1.1.1 (Torrent)") req.Header.Set("User-Agent", "DWL/1.1.1 (Torrent)")
resp, err := client.Do(req) resp, err := client.Do(req)
if er, ok := err.(*url.Error); ok {
if strings.HasPrefix(er.URL, "magnet:") {
return fromMagnet(er.URL)
}
}
if err != nil { if err != nil {
return nil, err return nil, err
} }