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:
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user