1
0
mirror of https://github.com/gilbertchen/duplicacy synced 2025-12-15 07:43:21 +00:00

Merge pull request #447 from s4y/patch-1

Acknowledge malware/spam warnings from GCD
This commit is contained in:
gilbertchen
2019-01-04 13:33:11 -05:00
committed by GitHub

View File

@@ -624,13 +624,22 @@ func (storage *GCDStorage) DownloadFile(threadIndex int, filePath string, chunk
var response *http.Response var response *http.Response
for { for {
response, err = storage.service.Files.Get(fileID).Download() // AcknowledgeAbuse(true) lets the download proceed even if GCD thinks that it contains malware.
if retry, err := storage.shouldRetry(threadIndex, err); err == nil && !retry { // TODO: Should this prompt the user or log a warning?
req := storage.service.Files.Get(fileID)
if e, ok := err.(*googleapi.Error); ok {
if strings.Contains(err.Error(), "cannotDownloadAbusiveFile") || len(e.Errors) > 0 && e.Errors[0].Reason == "cannotDownloadAbusiveFile" {
LOG_WARN("GCD_STORAGE", "%s is marked as abusive, will download anyway.", filePath)
req = req.AcknowledgeAbuse(true)
}
}
response, err = req.Download()
if retry, retry_err := storage.shouldRetry(threadIndex, err); retry_err == nil && !retry {
break break
} else if retry { } else if retry {
continue continue
} else { } else {
return err return retry_err
} }
} }