@@ -481,36 +481,15 @@ func (c *APIClient) decode(v interface{}, b []byte, contentType string) (err err
481481 *s = string(b)
482482 return nil
483483 }
484- if _, ok := v.(*os.File); ok {
485- f, err1 := os.CreateTemp(" " , " HttpClientFile" )
486- if err1 != nil {
487- if c.cfg.Debug {
488- log.Printf(" \n %s\n " , err1)
489- }
490- return
491- }
492- _, err1 = f.Write(b)
493- if err != nil {
494- if c.cfg.Debug {
495- log.Printf(" \n %s\n " , err1)
496- }
497- return
498- }
499-
500- _, _ = f.Seek(0, io.SeekStart)
501- return
484+ if r, ok := v.(*io.ReadCloser); ok {
485+ reader := io.NopCloser(bytes.NewReader(b))
486+ *r = reader
487+ return nil
502488 }
503- if f, ok := v.(**os.File); ok {
504- *f, err = os.CreateTemp(" " , " HttpClientFile" )
505- if err != nil {
506- return
507- }
508- _, err = (*f).Write(b)
509- if err != nil {
510- return
511- }
512- _, err = (*f).Seek(0, io.SeekStart)
513- return
489+ if r, ok := v.(**io.ReadCloser); ok {
490+ reader := io.NopCloser(bytes.NewReader(b))
491+ *r = &reader
492+ return nil
514493 }
515494 if xmlCheck.MatchString(contentType) {
516495 return xml.Unmarshal(b, v);
@@ -565,8 +544,8 @@ func setBody(body interface{}, contentType string) (bodyBuf *bytes.Buffer, err e
565544
566545 if reader, ok := body.(io.Reader); ok {
567546 _, err = bodyBuf.ReadFrom(reader)
568- } else if fp, ok := body.(*os.File ); ok {
569- _, err = bodyBuf.ReadFrom(fp)
547+ } else if fp, ok := body.(*io.ReadCloser ); ok {
548+ _, err = bodyBuf.ReadFrom(* fp)
570549 } else if b, ok := body.([]byte); ok {
571550 _, err = bodyBuf.Write(b)
572551 } else if s, ok := body.(string); ok {
0 commit comments