Proxy private release assets via S3 url #30
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR attempts to improve the initial implementation introduced in #23 by @dominiklessel for downloading private repo release assets.
The API url available for every asset, on being hit with the right headers redirects to the github release asset url which is a presigned s3 url for the asset. So instead of fetching the actual asset, I've changed the fetch for the api endpoint to not follow all redirects. Instead we stop at the redirect, read the
Location
header and redirect the client to thatLocation
.eg:
now-desktop
3.6.2 mac asset has api url:https://api.github.com/repos/zeit/now-desktop/releases/assets/5302341
which returns this:
Couple of advantages:
I've tested this out and released it for downloads of https://pyrite.network and it seems to be working perfectly.