jaemk / self_update

Self updates for rust executables
MIT License
772 stars 65 forks source link

Feature Request/RFC: Abolish backends::s3::EndPoint or add Custom(function) element #115

Open passivedragon opened 1 year ago

passivedragon commented 1 year ago

Unless I have missed a vital part, it seems like the current S3 implementation is quite restrictive in regards to vendors of S3-compatible buckets. For example, I initially looked at this crate hoping to make use of a cloudflare R2 bucket.

I don't see a fundamental point to have this kind of restriction, beyond sane-defaults. Therefore I think it'd be more useful and flexible to have a simple way of adding custom S3 links. This could either come with the enum serving as defaults, or by adding a Custom() element to the enum, which can be passed a function to parse parameters into a final request url.

It seems to me that the only time these actually matter, is when download_base_url and api_url are set. Even easier could be to simply set them directly, which a passed function could also just do directly if wanted.

If there aren't any problems with this, I'd be happy to submit a PR.