MCPcopy Index your code
hub / github.com/cloudfoundry/cli / CreateMultipartBodyAndHeader

Function CreateMultipartBodyAndHeader

api/cloudcontroller/uploads/upload.go:31–62  ·  view source on GitHub ↗
(file io.Reader, path string, fieldName string)

Source from the content-addressed store, hash-verified

29}
30
31func CreateMultipartBodyAndHeader(file io.Reader, path string, fieldName string) (string, io.ReadSeeker, <-chan error) {
32 writerOutput, writerInput := cloudcontroller.NewPipeBomb()
33
34 form := multipart.NewWriter(writerInput)
35
36 writeErrors := make(chan error)
37
38 go func() {
39 defer close(writeErrors)
40 defer writerInput.Close()
41
42 bpFileName := filepath.Base(path)
43 writer, err := form.CreateFormFile(fieldName, bpFileName)
44 if err != nil {
45 writeErrors <- err
46 return
47 }
48
49 _, err = io.Copy(writer, file)
50 if err != nil {
51 writeErrors <- err
52 return
53 }
54
55 err = form.Close()
56 if err != nil {
57 writeErrors <- err
58 }
59 }()
60
61 return form.FormDataContentType(), writerOutput, writeErrors
62}

Callers 2

UploadBuildpackMethod · 0.92
UploadDropletBitsMethod · 0.92

Calls 2

NewPipeBombFunction · 0.92
CloseMethod · 0.65

Tested by

no test coverage detected