Skip to content
Snippets Groups Projects

Extend Upload API for resumable downloads

Open Joscha Schmiedt requested to merge f-extend-upload-api into dev

Summary

Related to #24. This MR changes the way how files are uploaded. The files to be uploaded are merely registered with the server, which responds with URLs, to which the files are supposed to be transmitted using the specified LinkAhead File Upload Protocol Version. This enables using the TUS protocol for uploading files via HTTPS.

Focus

  • The file transmission API is split from the entity API into its own proto file (v1alpha). The entity API version is incremented to v2alpha1 (v2alpha1 is currently identical to v1 but lacking the file transmission API).
  • The main changes to the file transmission API are in commit 014805af

There are two open questions where a decision should be made (marked in the proto files with TODO)

  1. The FileInformation message in the file transmission API is very similar to the FileDescriptor message in the entity API with the difference that it has no relation to an entity and is purely filesystem-oriented. Maybe we should re-use FileInformation s part of the entity API?
  2. Checksum and ChecksumAlgorithm of the file transmission API are very similar to the Hash message in the entity API. We should discuss if and how they can be merged.

Test Environment

How to set up a test environment for manual testing?

Check List for the Author

Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines

  • All automated tests pass
  • Reference related issues
  • Up-to-date CHANGELOG.md (or not necessary)
  • Up-to-date JSON schema (or not necessary)
  • Appropriate user and developer documentation (or not necessary)
    • How do I use the software? Assume "stupid" users.
    • How do I develop or debug the software? Assume novice developers.
  • Annotations in code (Gitlab comments)
    • Intent of new code
    • Problems with old code
    • Why this implementation?

Check List for the Reviewer

  • I understand the intent of this MR
  • All automated tests pass
  • Up-to-date CHANGELOG.md (or not necessary)
  • Appropriate user and developer documentation (or not necessary)
  • The test environment setup works and the intended behavior is reproducible in the test environment
  • In-code documentation and comments are up-to-date.
  • Check: Are there specifications? Are they satisfied?

For further good practices have a look at our review guidelines.

Edited by Joscha Schmiedt

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading