Do not repair invalid download code error
This commit is contained in:
@@ -171,8 +171,10 @@ func (dl *Downloader) streamFileToResponse(
|
||||
// log.Errorf("Your account has reached the bandwidth limit, please try again after 12AM CET")
|
||||
http.Error(resp, "File is not available (bandwidth limit reached)", http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
} else if utils.IsInvalidDownloadCode(err) {
|
||||
http.Error(resp, "File is not available (invalid download code)", http.StatusInternalServerError)
|
||||
return
|
||||
} else if err != nil {
|
||||
log.Errorf("Cannot download file %s: %v", unrestrict.Download, err)
|
||||
if file != nil && file.State.Event(context.Background(), "break_file") == nil {
|
||||
torMgr.EnqueueForRepair(torrent)
|
||||
|
||||
@@ -81,8 +81,9 @@ func (rd *RealDebrid) UnrestrictAndVerify(link string) (*Download, error) {
|
||||
if utils.IsBytesLimitReached(err) {
|
||||
rd.TokenManager.SetTokenAsExpired(token, "bandwidth limit exceeded")
|
||||
continue
|
||||
}
|
||||
if err == nil {
|
||||
} else if utils.IsInvalidDownloadCode(err) {
|
||||
continue
|
||||
} else if err == nil {
|
||||
rd.verifiedLinks.Set(download.ID, time.Now().Unix()+DOWNLOAD_LINK_EXPIRY)
|
||||
return download, nil
|
||||
}
|
||||
@@ -101,8 +102,9 @@ func (rd *RealDebrid) UnrestrictAndVerify(link string) (*Download, error) {
|
||||
if utils.IsBytesLimitReached(err) {
|
||||
rd.TokenManager.SetTokenAsExpired(token, "bandwidth limit exceeded")
|
||||
continue
|
||||
}
|
||||
if err != nil {
|
||||
} else if utils.IsInvalidDownloadCode(err) {
|
||||
continue
|
||||
} else if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,13 @@ func IsBytesLimitReached(err error) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func IsInvalidDownloadCode(err error) bool {
|
||||
if dlErr, ok := err.(*http.DownloadErrorResponse); ok && dlErr.Message == "invalid_download_code" {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func AreAllTokensExpired(err error) bool {
|
||||
return err != nil && err.Error() == "all tokens are expired"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user