Skip to content
Snippets Groups Projects

Extend Upload API for resumable downloads

Open Joscha Schmiedt requested to merge f-extend-upload-api into dev
1 file
+ 15
0
Compare changes
  • Side-by-side
  • Inline
@@ -86,15 +86,23 @@ enum TransmissionStatus {
// TODO: This is very similar to the Hash message in the entity API. We should discuss
// if and how they can be merged.
enum ChecksumAlgorithm {
// The checksum algorithm is unspecified.
CHECKSUM_ALGORITHM_UNSPECIFIED = 0;
// The MD5 checksum algorithm.
CHECKSUM_ALGORITHM_MD5 = 1;
// The SHA-1 checksum algorithm.
CHECKSUM_ALGORITHM_SHA1 = 2;
// The SHA-256 checksum algorithm.
CHECKSUM_ALGORITHM_SHA256 = 3;
// The SHA-512 checksum algorithm.
CHECKSUM_ALGORITHM_SHA512 = 4;
}
// Checksum contains the checksum value and the algorithm used to compute it.
message Checksum {
// The checksum value.
string checksum = 1;
// The algorithm used to compute the checksum.
ChecksumAlgorithm checksum_algorithm = 2;
}
@@ -116,20 +124,25 @@ message FileInformation {
// Register a file upload for a list of files. The server will respond with a
// registration id and URLs to which the files can be uploaded.
message RegisterFileUploadRequest {
// Information about the files to be uploaded.
repeated FileInformation file_information = 1;
}
// The URL to which a file should be uploaded using the given LinkAhead
// UploadProtocolVersion.
message UploadLocation {
// The URL to which the file should be uploaded.
string url = 1;
}
// The version of the LinkAhead upload protocol. This is currently identical to
// the TUS protocol version.
message UploadProtocolVersion {
// The major version number of the upload protocol.
int32 major = 1;
// The minor version number of the upload protocol.
int32 minor = 2;
// The patch version number of the upload protocol.
int32 patch = 3;
}
@@ -142,7 +155,9 @@ message RegisterFileUploadResponse {
string registration_id = 2;
// The server's transmission settings for the upload.
FileTransmissionSettings upload_settings = 4;
// The version of the LinkAhead upload protocol.
UploadProtocolVersion version = 5;
// The locations where the files should be uploaded.
repeated UploadLocation locations = 6;
}
Loading