commands/http: Fixed client panic when sending a Request with nil 'Files'
Matt Bell committed
Dec 1, 2014 at 19:10 UTC
4c7a694409828cf34dd68f1e32042e916aa3972d
1 file changed
+8
-1
commands/http/client.go
+8
-1
@@ -48,14 +48,21 @@ func (c *client) Send(req cmds.Request) (cmds.Response, error) {
48
}
49
50
var fileReader *MultiFileReader
51
+ var reader io.Reader
52
+
53
if req.Files() != nil {
54
fileReader = NewMultiFileReader(req.Files(), true)
55
+ reader = fileReader
56
+ } else {
57
+ // if we have no file data, use an empty Reader
58
+ // (http.NewRequest panics when a nil Reader is used)
59
+ reader = strings.NewReader("")
60
}
61
62
path := strings.Join(req.Path(), "/")
63
url := fmt.Sprintf(ApiUrlFormat, c.serverAddress, ApiPath, path, query)
64
58
- httpReq, err := http.NewRequest("POST", url, fileReader)
65
+ httpReq, err := http.NewRequest("POST", url, reader)
66
if err != nil {
67
return nil, err
68
}