@cryptotaxi247 / kubo / commits / 4c7a69440

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 }