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;

Reply via email to