Allow streaming io objects into Gitaly
What does this MR do?
This is required for https://gitlab.com/gitlab-org/gitlab-ee/issues/9492, in which we want uploaded files to be stored in a new repository. Without this, we'd have to read the entire file into memory before passing it on to gitaly.
The behaviour is now also used when uploading blobs to the repository.
What are the relevant issue numbers?
Currently useful for https://gitlab.com/gitlab-org/gitlab-ee/issues/9492, but here we're also using it for uploaded blobs
Does this MR meet the acceptance criteria?
- [-] Changelog entry added, if necessary
- [-] Documentation created/updated via this MR
- [-] Documentation reviewed by technical writer or follow-up review issue created
-
Tests added for this feature/bug - [-] Tested in all supported browsers
- [-] Conforms to the code review guidelines
- [-] Conforms to the merge request performance guidelines
- [-] Conforms to the style guides
- [-] Conforms to the database guides
- [-] Link to e2e tests MR added if this MR has Requires e2e tests label. See the Test Planning Process.
- [-] Security reports checked/validated by reviewer