Skip to content

Commit

Permalink
optimize code && fix example
Browse files Browse the repository at this point in the history
  • Loading branch information
northseadl committed Apr 16, 2023
1 parent 748a45e commit 0fc9bd6
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 35 deletions.
3 changes: 2 additions & 1 deletion dataflow/dataflow_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ func TestDataflow_Xml(t *testing.T) {
func TestDataflow_Multipart(t *testing.T) {
df := InitBaseDataflow()

df.Multipart(func(multipart MultipartDataflow) {
df.Multipart(func(multipart MultipartDataflow) error {
mpDataflow := NewMultipartHelper()
mpDataflow.Boundary("test-boundary")
mpDataflow.FieldValue("param1", "value1")
Expand All @@ -134,6 +134,7 @@ func TestDataflow_Multipart(t *testing.T) {
if mpDataflow.Err() != nil {
t.Error(mpDataflow.Err())
}
return nil
})

if df.Err() != nil {
Expand Down
39 changes: 6 additions & 33 deletions dataflow/multipart.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,7 @@ func (m *MultipartDf) FileByPath(fieldName string, filePath string) MultipartDat
_, fileName := path.Split(filePath)

writer, err := m.mWriter.CreateFormFile(fieldName, fileName)
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create file part failed"))
}
var buf bytes.Buffer
_, err = buf.ReadFrom(file)
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create file part failed"))
}
_, err = buf.WriteTo(writer)
_, err = io.Copy(writer, file)
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create file part failed"))
}
Expand All @@ -59,12 +51,7 @@ func (m *MultipartDf) FileMem(fieldName string, fileName string, reader io.Reade
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create file part failed"))
}
var buf bytes.Buffer
_, err = buf.ReadFrom(reader)
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create file part failed"))
}
_, err = buf.WriteTo(writer)
_, err = io.Copy(writer, reader)
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create file part failed"))
}
Expand All @@ -77,16 +64,9 @@ func (m *MultipartDf) Part(header textproto.MIMEHeader, reader io.Reader) Multip
m.errs = append(m.errs, errors.Wrap(err, "create part failed"))
return m
}
var buf bytes.Buffer
_, err = buf.ReadFrom(reader)
_, err = io.Copy(writer, reader)
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create part read failed"))
return m
}
_, err = buf.WriteTo(writer)
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create part write failed"))
return m
m.errs = append(m.errs, errors.Wrap(err, "create file part failed"))
}
return m
}
Expand All @@ -105,16 +85,9 @@ func (m *MultipartDf) Field(fieldName string, reader io.Reader) MultipartDataflo
m.errs = append(m.errs, errors.Wrap(err, "create field failed"))
return m
}
var buf bytes.Buffer
_, err = buf.ReadFrom(reader)
_, err = io.Copy(writer, reader)
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create field read failed"))
return m
}
_, err = buf.WriteTo(writer)
if err != nil {
m.errs = append(m.errs, errors.Wrap(err, "create field write failed"))
return m
m.errs = append(m.errs, errors.Wrap(err, "create file part failed"))
}
return m
}
Expand Down
3 changes: 2 additions & 1 deletion example_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -161,13 +161,14 @@ func TestRequestHelper_Df_Multipart(t *testing.T) {

_, err = helper.Df().Method(http.MethodPost).
Url("https://typedwebhook.tools/webhook").
Multipart(func(multipart dataflow.MultipartDataflow) {
Multipart(func(multipart dataflow.MultipartDataflow) error {
data := strings.NewReader("test data")
multipart.Boundary("test-boundary").
//FileByPath("file", "README.md").
FieldValue("param1", "value1").
FieldValue("param2", "value2").
Field("data", data)
return nil
}).Request()

if err != nil {
Expand Down

0 comments on commit 0fc9bd6

Please sign in to comment.