aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--go/operation/submit.go18
1 files changed, 10 insertions, 8 deletions
diff --git a/go/operation/submit.go b/go/operation/submit.go
index b157fc052..e0001e60b 100644
--- a/go/operation/submit.go
+++ b/go/operation/submit.go
@@ -11,11 +11,11 @@ import (
)
type FilePart struct {
- ReadCloser io.ReadCloser //required, all rest are optional
- FileName string
- IsGzipped bool
- MimeType string
- ModTime int64 //in seconds
+ Reader io.Reader //required, all rest are optional
+ FileName string
+ IsGzipped bool
+ MimeType string
+ ModTime int64 //in seconds
}
type SubmitResult struct {
@@ -69,7 +69,7 @@ func NewFilePart(fullPathFilename string) (ret FilePart, err error) {
glog.V(0).Info("Failed to open file: ", fullPathFilename)
return ret, openErr
}
- ret.ReadCloser = fh
+ ret.Reader = fh
if fi, fiErr := fh.Stat(); fiErr != nil {
glog.V(0).Info("Failed to stat file:", fullPathFilename)
@@ -95,8 +95,10 @@ func (fi FilePart) Upload(server string, fid string) (int, error) {
if fi.ModTime != 0 {
fileUrl += "?ts=" + strconv.Itoa(int(fi.ModTime))
}
- defer fi.ReadCloser.Close()
- ret, e := Upload(fileUrl, fi.FileName, fi.ReadCloser, fi.IsGzipped, fi.MimeType)
+ if closer, ok := fi.Reader.(io.Closer); ok{
+ defer closer.Close()
+ }
+ ret, e := Upload(fileUrl, fi.FileName, fi.Reader, fi.IsGzipped, fi.MimeType)
if e != nil {
return 0, e
}