Add ability to serve directly from object storage #18

Closed
opened 2023-07-11 18:41:56 +00:00 by asonix · 1 comment
Owner

This will likely mean returning a redirect from the original or process endpoints, and letting the client re-fetch from the redirected URL.

Downstream proxies should be weary of configuring clients that follow redirects, since this will mean the server will still proxy media, just bypassing pict-rs for serving the image.

Another thing to consider is whether object stores should duplicate files per-alias to give unique links for deduplicated images, or if it's fine that although a redirect URL can be removed, the true URL will exist until all copies of an image are removed from pict-rs.

This might also require changes to inform object storage of the content type of uploaded bytes, so that it can properly set the header when serving media.

Finally, all this should be optional. pict-rs should be able to use object storage as a backend without generating object storage redirect responses.

This will likely mean returning a redirect from the `original` or `process` endpoints, and letting the client re-fetch from the redirected URL. Downstream proxies should be weary of configuring clients that follow redirects, since this will mean the server will still proxy media, just bypassing pict-rs for serving the image. Another thing to consider is whether object stores should duplicate files per-alias to give unique links for deduplicated images, or if it's fine that although a redirect URL can be removed, the true URL will exist until all copies of an image are removed from pict-rs. This might also require changes to inform object storage of the content type of uploaded bytes, so that it can properly set the header when serving media. Finally, all this should be optional. pict-rs should be able to use object storage as a backend without generating object storage redirect responses.
asonix added this to the 0.5.0 milestone 2023-07-11 18:42:00 +00:00
Author
Owner

added to main

added to main
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: asonix/pict-rs#18
No description provided.