Skip to content

Commit 2c29d5d

Browse files
committed
made file fieldnames explicit, rather than magic #nomagic
1 parent 73d5562 commit 2c29d5d

File tree

2 files changed

+9
-17
lines changed

2 files changed

+9
-17
lines changed

graphql.go

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
"bytes"
3535
"context"
3636
"encoding/json"
37-
"fmt"
3837
"io"
3938
"mime/multipart"
4039
"net/http"
@@ -88,12 +87,7 @@ func (c *Client) Run(ctx context.Context, req *Request, resp interface{}) error
8887
}
8988
}
9089
for i := range req.files {
91-
filename := fmt.Sprintf("file-%d", i+1)
92-
if i == 0 {
93-
// just use "file" for the first one
94-
filename = "file"
95-
}
96-
part, err := writer.CreateFormFile(filename, req.files[i].Name)
90+
part, err := writer.CreateFormFile(req.files[i].Field, req.files[i].Name)
9791
if err != nil {
9892
return errors.Wrap(err, "create form file")
9993
}
@@ -181,15 +175,17 @@ func (req *Request) Var(key string, value interface{}) {
181175
}
182176

183177
// File sets a file to upload.
184-
func (req *Request) File(filename string, r io.Reader) {
178+
func (req *Request) File(fieldname, filename string, r io.Reader) {
185179
req.files = append(req.files, file{
186-
Name: filename,
187-
R: r,
180+
Field: fieldname,
181+
Name: filename,
182+
R: r,
188183
})
189184
}
190185

191186
// file represents a file to upload.
192187
type file struct {
193-
Name string
194-
R io.Reader
188+
Field string
189+
Name string
190+
R io.Reader
195191
}

graphql_test.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,14 +174,10 @@ func TestFile(t *testing.T) {
174174
defer srv.Close()
175175
ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
176176
defer cancel()
177-
178177
client := NewClient(srv.URL)
179-
180178
f := strings.NewReader(`This is a file`)
181-
182179
req := NewRequest("query {}")
183-
req.File("filename.txt", f)
184-
180+
req.File("file", "filename.txt", f)
185181
err := client.Run(ctx, req, nil)
186182
is.NoErr(err)
187183
}

0 commit comments

Comments
 (0)