MCPcopy Create free account
hub / github.com/UiPath/uipathcli / writeMultipartForm

Method writeMultipartForm

executor/http_executor.go:63–92  ·  view source on GitHub ↗
(writer *multipart.Writer, parameters []ExecutionParameter)

Source from the content-addressed store, hash-verified

61}
62
63func (e HttpExecutor) writeMultipartForm(writer *multipart.Writer, parameters []ExecutionParameter) error {
64 for _, parameter := range parameters {
65 switch v := parameter.Value.(type) {
66 case string:
67 w, err := writer.CreateFormField(parameter.Name)
68 if err != nil {
69 return fmt.Errorf("Error creating form field '%s': %w", parameter.Name, err)
70 }
71 _, err = w.Write([]byte(v))
72 if err != nil {
73 return fmt.Errorf("Error writing form field '%s': %w", parameter.Name, err)
74 }
75 case stream.Stream:
76 w, err := writer.CreateFormFile(parameter.Name, v.Name())
77 if err != nil {
78 return fmt.Errorf("Error writing form file '%s': %w", parameter.Name, err)
79 }
80 data, err := v.Data()
81 if err != nil {
82 return err
83 }
84 defer func() { _ = data.Close() }()
85 _, err = io.Copy(w, data)
86 if err != nil {
87 return fmt.Errorf("Error writing form file '%s': %w", parameter.Name, err)
88 }
89 }
90 }
91 return nil
92}
93
94func (e HttpExecutor) serializeJson(body io.Writer, parameters []ExecutionParameter) error {
95 data := map[string]interface{}{}

Callers 1

writeMultipartBodyMethod · 0.95

Calls 4

CloseMethod · 0.80
WriteMethod · 0.65
NameMethod · 0.65
DataMethod · 0.65

Tested by

no test coverage detected