func()

in golang/service/service.go [108:151]


func (f *FileFormReader) Read(p []byte) (n int, err error) {
	if f.ifField {
		n, err = f.formField.Read(p)
		if err != nil && err != io.EOF {
			return n, err
		} else if err == io.EOF {
			err = nil
			f.ifField = false
			f.streaming = true
		}
	} else if f.streaming {
		form := f.formFiles[f.index]
		if form.start {
			n, err = form.StartField.Read(p)
			if err != nil && err != io.EOF {
				return n, err
			} else if err == io.EOF {
				err = nil
				form.start = false
			}
		} else if form.end {
			n, err = form.EndField.Read(p)
			if err != nil && err != io.EOF {
				return n, err
			} else if err == io.EOF {
				f.index++
				form.end = false
				if f.index < len(f.formFiles) {
					err = nil
				}
			}
		} else {
			n, err = form.File.Read(p)
			if err != nil && err != io.EOF {
				return n, err
			} else if err == io.EOF {
				err = nil
				form.end = true
			}
		}
	}

	return n, err
}