fix: return err when failed to make m_encoder

This commit is contained in:
buyuxiang
2022-07-13 15:58:33 +08:00
parent 296295a928
commit 68b289f423

View File

@@ -110,12 +110,10 @@ func (w *TFormDataWriter) writeCustomFile(formKey, formValue, formType, formFile
} }
fPath, err := filepath.Abs(formValue) fPath, err := filepath.Abs(formValue)
if err != nil { if err != nil {
log.Error().Err(err).Str("path", fPath).Msg("convert absolute path failed")
return err return err
} }
file, err := os.ReadFile(fPath) file, err := os.ReadFile(fPath)
if err != nil { if err != nil {
log.Error().Err(err).Str("path", fPath).Msg("read file failed")
return err return err
} }
@@ -139,7 +137,7 @@ func (w *TFormDataWriter) writeCustomFile(formKey, formValue, formType, formFile
return err return err
} }
func multipartEncoder(formMap map[string]interface{}) *TFormDataWriter { func multipartEncoder(formMap map[string]interface{}) (*TFormDataWriter, error) {
payload := &bytes.Buffer{} payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload) writer := multipart.NewWriter(payload)
tFormWriter := &TFormDataWriter{ tFormWriter := &TFormDataWriter{
@@ -191,18 +189,19 @@ func multipartEncoder(formMap map[string]interface{}) *TFormDataWriter {
if isFilePath { if isFilePath {
if err := tFormWriter.writeCustomFile(formKey, formValue, formType, formFileName); err != nil { if err := tFormWriter.writeCustomFile(formKey, formValue, formType, formFileName); err != nil {
log.Error().Err(err).Msgf("failed to write file: %v=@\"%v\", exit", formKey, formValue) log.Error().Err(err).Msgf("failed to write file: %v=@\"%v\", exit", formKey, formValue)
os.Exit(1) return nil, err
} }
continue continue
} }
if err := tFormWriter.writeCustomField(formKey, formValue, formType, formFileName); err != nil { if err := tFormWriter.writeCustomField(formKey, formValue, formType, formFileName); err != nil {
log.Error().Err(err).Msgf("failed to write text: %v=%v, ignore", formKey, formValue) log.Error().Err(err).Msgf("failed to write text: %v=%v, ignore", formKey, formValue)
return nil, err
} }
} }
if err := writer.Close(); err != nil { if err := writer.Close(); err != nil {
log.Error().Err(err).Msg("failed to close form-data writer") log.Error().Err(err).Msg("failed to close form-data writer")
} }
return tFormWriter return tFormWriter, nil
} }
func multipartContentType(w *TFormDataWriter) string { func multipartContentType(w *TFormDataWriter) string {