Changeset 19 in code for trunk/partage.go


Ignore:
Timestamp:
Oct 18, 2021, 3:41:56 PM (4 years ago)
Author:
dev
Message:

Improve error handling for writefile()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/partage.go

    r16 r19  
    4545}
    4646
    47 func writefile(f *os.File, s io.ReadCloser, contentlength int64) int64 {
     47func writefile(f *os.File, s io.ReadCloser, contentlength int64) error {
    4848        buffer := make([]byte, 4096)
    4949        eof := false
     
    5555                n, err := s.Read(buffer)
    5656                if err != nil && err != io.EOF {
    57                         fmt.Println(err)
    58                         return -1
     57                        return err
    5958                } else if err == io.EOF {
    6059                        eof = true
     
    7069                _, err = f.Write(buffer[:r])
    7170                if err != nil {
    72                         fmt.Println(err)
     71                        return err
    7372                }
    7473                sz += r
    7574        }
    7675
    77         return sz
     76        return nil
    7877}
    7978
     
    106105        defer f.Close()
    107106
    108         if writefile(f, r.Body, r.ContentLength) < 0 {
     107        if err = writefile(f, r.Body, r.ContentLength); err != nil {
    109108                w.WriteHeader(http.StatusInternalServerError)
     109                defer os.Remove(tmp.Name())
    110110                return
    111111        }
     
    142142                defer f.Close()
    143143
    144                 if writefile(f, post, h.Size) < 0 {
     144                if err = writefile(f, post, h.Size); err != nil {
    145145                        w.WriteHeader(http.StatusInternalServerError)
     146                        defer os.Remove(tmp.Name())
    146147                        return
    147148                }
Note: See TracChangeset for help on using the changeset viewer.