We want to have a single DownloadService to which every part of Nuxeo that needs to send a file to the client (client-triggered download) can delegate its logic.
This will allow, in a first iteration, to have proper Content-Disposition, ETag, If-None-Match, byte Range and cache header management in all cases.
It will also allow to log in the audit each download.