aboutsummaryrefslogtreecommitdiffstats
path: root/drive/revision_download.go
diff options
context:
space:
mode:
Diffstat (limited to 'drive/revision_download.go')
-rw-r--r--drive/revision_download.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/drive/revision_download.go b/drive/revision_download.go
index 04055fa..6bed886 100644
--- a/drive/revision_download.go
+++ b/drive/revision_download.go
@@ -5,6 +5,7 @@ import (
"io"
"io/ioutil"
"path/filepath"
+ "time"
)
type DownloadRevisionArgs struct {
@@ -15,6 +16,7 @@ type DownloadRevisionArgs struct {
Path string
Force bool
Stdout bool
+ Timeout time.Duration
}
func (self *Drive) DownloadRevision(args DownloadRevisionArgs) (err error) {
@@ -30,10 +32,13 @@ func (self *Drive) DownloadRevision(args DownloadRevisionArgs) (err error) {
}
// Get timeout reader wrapper and context
- timeoutReaderWrapper, ctx := getTimeoutReaderWrapperContext()
+ timeoutReaderWrapper, ctx := getTimeoutReaderWrapperContext(args.Timeout)
res, err := getRev.Context(ctx).Download()
if err != nil {
+ if isTimeoutError(err) {
+ return fmt.Errorf("Failed to download file: timeout, no data was transferred for %v", args.Timeout)
+ }
return fmt.Errorf("Failed to download file: %s", err)
}