(file stream.Stream, feedId string, uploadBar *visualization.ProgressBar, cancel context.CancelCauseFunc)
| 102 | } |
| 103 | |
| 104 | func (c OrchestratorClient) createUploadRequest(file stream.Stream, feedId string, uploadBar *visualization.ProgressBar, cancel context.CancelCauseFunc) *network.HttpRequest { |
| 105 | bodyReader, bodyWriter := io.Pipe() |
| 106 | streamSize, _ := file.Size() |
| 107 | contentType := c.writeMultipartBody(bodyWriter, file, "application/octet-stream", cancel) |
| 108 | uploadReader := c.progressReader("uploading...", "completing ", bodyReader, streamSize, uploadBar) |
| 109 | |
| 110 | uriBuilder := c.newUriBuilder("/odata/Processes/UiPath.Server.Configuration.OData.UploadPackage") |
| 111 | if feedId != "" { |
| 112 | uriBuilder.AddQueryString("feedId", feedId) |
| 113 | } |
| 114 | uri := uriBuilder.Build() |
| 115 | header := http.Header{ |
| 116 | "Content-Type": {contentType}, |
| 117 | } |
| 118 | return network.NewHttpPostRequest(uri, c.toAuthorization(c.token), header, uploadReader, -1) |
| 119 | } |
| 120 | |
| 121 | func (c OrchestratorClient) writeMultipartBody(bodyWriter *io.PipeWriter, stream stream.Stream, contentType string, cancel context.CancelCauseFunc) string { |
| 122 | formWriter := multipart.NewWriter(bodyWriter) |
no test coverage detected