Repository: karaf Updated Branches: refs/heads/master e1c98d182 -> 25771e1ea
Fixed authentication when userInfo provided with resource URL Signed-off-by: David Leangen <da...@leangen.net> Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/25771e1e Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/25771e1e Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/25771e1e Branch: refs/heads/master Commit: 25771e1ead28b81af7199c986594ed1fe1e4ded9 Parents: e1c98d1 Author: David Leangen <da...@leangen.net> Authored: Tue Jul 4 15:38:25 2017 +0900 Committer: David Leangen <da...@leangen.net> Committed: Tue Jul 4 15:38:25 2017 +0900 ---------------------------------------------------------------------- .../karaf/features/internal/repository/UrlLoader.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/25771e1e/features/core/src/main/java/org/apache/karaf/features/internal/repository/UrlLoader.java ---------------------------------------------------------------------- diff --git a/features/core/src/main/java/org/apache/karaf/features/internal/repository/UrlLoader.java b/features/core/src/main/java/org/apache/karaf/features/internal/repository/UrlLoader.java index 48552fb..433b39b 100644 --- a/features/core/src/main/java/org/apache/karaf/features/internal/repository/UrlLoader.java +++ b/features/core/src/main/java/org/apache/karaf/features/internal/repository/UrlLoader.java @@ -20,7 +20,9 @@ import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; +import java.net.URL; import java.net.URLConnection; +import java.nio.charset.StandardCharsets; import java.util.zip.GZIPInputStream; import static java.net.HttpURLConnection.HTTP_NOT_MODIFIED; @@ -55,13 +57,18 @@ public abstract class UrlLoader { } } try { - URLConnection connection = new java.net.URL(url).openConnection(); + URL u = new java.net.URL(url); + URLConnection connection = u.openConnection(); if (connection instanceof HttpURLConnection) { HttpURLConnection con = (HttpURLConnection) connection; if (lastModified > 0) { con.setIfModifiedSince(lastModified); } con.setRequestProperty(HEADER_ACCEPT_ENCODING, GZIP); + if (u.getUserInfo() != null) { + String encoded = java.util.Base64.getEncoder().encodeToString((u.getUserInfo()).getBytes(StandardCharsets.UTF_8)); + connection.setRequestProperty("Authorization", "Basic " + encoded); + } int rc = con.getResponseCode(); if (rc == HTTP_NOT_MODIFIED) { lastChecked = time;