From d565291c1f131e374ed632c41376141e1ec6c8ca Mon Sep 17 00:00:00 2001 From: Jorge Diz Pico Date: Mon, 7 Sep 2020 15:46:08 +0200 Subject: [PATCH] Do not override private repo urls wit default CDN --- THANKS | 1 + src/rebar_pkg_resource.erl | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/THANKS b/THANKS index 0ec5ab0ba..82360d0a9 100644 --- a/THANKS +++ b/THANKS @@ -146,3 +146,4 @@ Justin Wood Guilherme Andrade Manas Chaudhari Luís Rascão +Jorge Diz Pico diff --git a/src/rebar_pkg_resource.erl b/src/rebar_pkg_resource.erl index c81df7065..f4b787a36 100644 --- a/src/rebar_pkg_resource.erl +++ b/src/rebar_pkg_resource.erl @@ -218,7 +218,8 @@ store_etag_in_cache(Path, ETag) -> cached_download(TmpDir, CachePath, Pkg={pkg, Name, Vsn, _OldHash, _Hash, RepoConfig}, State, ETag, ETagPath, UpdateETag) -> CDN = maybe_default_cdn(State), - case request(RepoConfig#{repo_url => CDN}, Name, Vsn, ETag) of + RepoConfigWithURL = maybe_fill_url_with_cdn(RepoConfig, CDN), + case request(RepoConfigWithURL, Name, Vsn, ETag) of {ok, cached} -> ?INFO("Version cached at ~ts is up to date, reusing it", [CachePath]), serve_from_cache(TmpDir, CachePath, Pkg); @@ -238,6 +239,11 @@ maybe_default_cdn(State) -> CDN = rebar_state:get(State, rebar_packages_cdn, ?DEFAULT_CDN), rebar_utils:to_binary(CDN). +maybe_fill_url_with_cdn(RepoConfig = #{repo_url := _}, _CDN) -> + RepoConfig; +maybe_fill_url_with_cdn(RepoConfig, CDN) -> + RepoConfig#{repo_url => CDN}. + -spec serve_from_cache(TmpDir, CachePath, Pkg) -> Res when TmpDir :: file:name(), CachePath :: file:name(),