#jottacloud #api-bindings

jotta-fs

Third-party low-level Jottacloud client for Rust

4 releases

0.1.3 Mar 20, 2022
0.1.2 Mar 18, 2022
0.1.1 Mar 16, 2022
0.1.0 Mar 12, 2022

#2620 in #api-bindings

MIT license

49KB
954 lines

jotta-fs

Jotta FS is a thin wrapper around the Jottacloud REST API.

Jottacloud API Discoveries

Uploading

You need to allocate before uploading:

POST https://api.jottacloud.com/files/v1/allocate

The JSON body must contain an md5 field, which makes streaming complicated.

A successful allocation will return an upload_url that you can POST the data to.

Chunked uploads

Uploads can be easily chunked by POSTing to the previously obtained upload_url with the desired chunk and a Range header specifying where in the complete file this chunk is located.

Jottacloud will return an HTTP 420 error (whatever that is) and an IncompleteUploadOpenApiException, but it does work. Trust me. The next allocation call will have a new resume_pos field.

  • There doesn't seem to be any minimum for the chunk size. Tested with 1 byte per request.
  • There is no need to allocate between every chunk (upload_url can be reused). (might be false)
  • resume_pos is available at the file metadata endpoint too.

Dependencies

~9–49MB
~798K SLoC