diff options
Diffstat (limited to 'drive/revision_download.go')
| -rw-r--r-- | drive/revision_download.go | 7 | 
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)  	} | 
