Turns out, Go will automatically set Content-Length
This commit is contained in:
parent
b099bb3037
commit
141388fd23
2 changed files with 8 additions and 29 deletions
|
|
@ -98,16 +98,13 @@ func apiRun(opts *ApiOptions) error {
|
|||
}
|
||||
|
||||
if opts.RequestInputFile != "" {
|
||||
file, size, err := openUserFile(opts.RequestInputFile, opts.IO.In)
|
||||
file, err := openUserFile(opts.RequestInputFile, opts.IO.In)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
requestPath = addQuery(requestPath, params)
|
||||
requestBody = file
|
||||
if size > 0 {
|
||||
requestHeaders = append(requestHeaders, fmt.Sprintf("Content-Length: %d", size))
|
||||
}
|
||||
}
|
||||
|
||||
httpClient, err := opts.HttpClient()
|
||||
|
|
@ -198,34 +195,17 @@ func magicFieldValue(v string, stdin io.ReadCloser) (interface{}, error) {
|
|||
}
|
||||
|
||||
func readUserFile(fn string, stdin io.ReadCloser) ([]byte, error) {
|
||||
var r io.ReadCloser
|
||||
if fn == "-" {
|
||||
r = stdin
|
||||
} else {
|
||||
var err error
|
||||
r, err = os.Open(fn)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
r, err := openUserFile(fn, stdin)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer r.Close()
|
||||
return ioutil.ReadAll(r)
|
||||
}
|
||||
|
||||
func openUserFile(fn string, stdin io.ReadCloser) (io.ReadCloser, int64, error) {
|
||||
func openUserFile(fn string, stdin io.ReadCloser) (io.ReadCloser, error) {
|
||||
if fn == "-" {
|
||||
return stdin, 0, nil
|
||||
return stdin, nil
|
||||
}
|
||||
|
||||
r, err := os.Open(fn)
|
||||
if err != nil {
|
||||
return r, 0, err
|
||||
}
|
||||
|
||||
s, err := os.Stat(fn)
|
||||
if err != nil {
|
||||
return r, 0, err
|
||||
}
|
||||
|
||||
return r, s.Size(), nil
|
||||
return os.Open(fn)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -373,7 +373,7 @@ func Test_openUserFile(t *testing.T) {
|
|||
f.Close()
|
||||
t.Cleanup(func() { os.Remove(f.Name()) })
|
||||
|
||||
file, length, err := openUserFile(f.Name(), nil)
|
||||
file, err := openUserFile(f.Name(), nil)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
@ -384,6 +384,5 @@ func Test_openUserFile(t *testing.T) {
|
|||
t.Fatal(err)
|
||||
}
|
||||
|
||||
assert.Equal(t, int64(13), length)
|
||||
assert.Equal(t, "file contents", string(fb))
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue