Compression and Transfer-Encoding #51
Labels
No Label
Kind/Bug
Kind/Enhancement
Kind/Feature
Project/Lander
Project/Landerctl
idea
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Chewing_Bever/lander#51
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
Ideally I'd like to keep the space required for the server to a minimum, so compressing the stored files sounds like a good idea. Additionally, using the Transfer-Encoding header would allow us to reduce the amount of bandwidth required for downloads as well.
When uploading using the CLI, the CLI could compress the files before sending them over the wire. When using cURL the server would compress the files once when they're received instead. Either way, the server would only store a compressed version of each uploaded file.
When downloading, the server would simply serve the file in its compressed form with the Transfer-Encoding header set. This would allow the client to decompress the file while it's being received, without having to send the uncompressed contents over the wire.
Additionally, we could also add a
/:key.gz
route that explicitely serves the compressed file as the content instead of having it be transparently decompressed by the client.We might need to use the Content-Encoding header instead.