Hello,

We had a try at changing a bit our approach for HTTP-based file transfer to support use cases, pointed out by Sam and Daniel.

The result is here:
https://github.com/processone/ejabberd-saas-docs/blob/master/xmpp-specs/http-filetransfer/http-filetransfer.md

What we changed is:

- Ability to have permanent download URLs that do not require the client to know about the protocol. When URL is permanent (or before the download URL expires) client is not forced to request a download URL from the file id.

- Added ability for the server to pass headers along with upload URL. The client may need to use those HTTP headers to be allowed to upload the file.

Please, let me know if this is helpful.

We have something that we have left pending, waiting for your feedback: the hash for now is a binary md5 as this is the one supported by Amazon S3. However, other services may use other type of hash or no hash at all. What bothered me is that User avatar use SHA-1 as id. Some service may use the same hash for consistency. Some service may not require any hash at all or just use file size as a basic check.
We may need a data form to accommodate that flexibility.

Do you think it is worth it ?

--
Mickaël Rémond
 http://www.process-one.net

Reply via email to