code: func WriteMultipartForm(w io.Writer, f *multipart.Form, boundary string) error {
  	// Do not care about memory allocations here, since multipart
  	// form processing is slow.
  	if len(boundary) == 0 {
  		panic("BUG: form boundary cannot be empty")
  	}
  
  	mw := multipart.NewWriter(w)
  	if err := mw.SetBoundary(boundary); err != nil {
  		return fmt.Errorf("cannot use form boundary %q: %s", boundary, err)
  	}
  
  	// marshal values
  	for k, vv := range f.Value {
  		for _, v := range vv {
  			if err := mw.WriteField(k, v); err != nil {
  				return fmt.Errorf("cannot write form field %q value %q: %s", k, v, err)
  			}
  		}
  	}
  
  	// marshal files
  	for k, fvv := range f.File {
  		for _, fv := range fvv {
  			vw, err := mw.CreatePart(fv.Header)
  			if err != nil {
  				return fmt.Errorf("cannot create form file %q (%q): %s", k, fv.Filename, err)
  			}
  			fh, err := fv.Open()
  			if err != nil {
  				return fmt.Errorf("cannot open form file %q (%q): %s", k, fv.Filename, err)
  			}
  			if _, err = copyZeroAlloc(vw, fh); err != nil {
  				return fmt.Errorf("error when copying form file %q (%q): %s", k, fv.Filename, err)
  			}
  			if err = fh.Close(); err != nil {
  				return fmt.Errorf("cannot close form file %q (%q): %s", k, fv.Filename, err)
  			}
  		}
  	}
  
  	if err := mw.Close(); err != nil {
  		return fmt.Errorf("error when closing multipart form writer: %s", err)
  	}
  
  	return nil
  }
docs: // WriteMultipartForm writes the given multipart form f with the given
  // boundary to w.