diff options
Diffstat (limited to 'workhorse/internal/upload/uploads.go')
-rw-r--r-- | workhorse/internal/upload/uploads.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/workhorse/internal/upload/uploads.go b/workhorse/internal/upload/uploads.go index b408d260379..1806e7563ce 100644 --- a/workhorse/internal/upload/uploads.go +++ b/workhorse/internal/upload/uploads.go @@ -15,7 +15,8 @@ import ( "gitlab.com/gitlab-org/gitlab/workhorse/internal/zipartifacts" ) -// These methods are allowed to have thread-unsafe implementations. +// MultipartFormProcessor abstracts away implementation differences +// between generic MIME multipart file uploads and CI artifact uploads. type MultipartFormProcessor interface { ProcessFile(ctx context.Context, formName string, file *filestore.FileHandler, writer *multipart.Writer) error ProcessField(ctx context.Context, formName string, writer *multipart.Writer) error @@ -24,7 +25,10 @@ type MultipartFormProcessor interface { Count() int } -func HandleFileUploads(w http.ResponseWriter, r *http.Request, h http.Handler, preauth *api.Response, filter MultipartFormProcessor, opts *filestore.SaveFileOpts) { +// InterceptMultipartFiles is the core of the implementation of +// Multipart. Because it is also used for CI artifact uploads it is a +// public function. +func InterceptMultipartFiles(w http.ResponseWriter, r *http.Request, h http.Handler, preauth *api.Response, filter MultipartFormProcessor, opts *filestore.SaveFileOpts) { var body bytes.Buffer writer := multipart.NewWriter(&body) defer writer.Close() |