added authorization on post requests when credentials are set (patch by Fabian Cretton)
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/27750cd7 Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/27750cd7 Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/27750cd7 Branch: refs/heads/develop Commit: 27750cd74095bf7b9dffe406713778984499e275 Parents: 5095547 Author: Sergio Fernández <[email protected]> Authored: Fri Oct 31 11:16:21 2014 +0100 Committer: Sergio Fernández <[email protected]> Committed: Fri Oct 31 11:16:21 2014 +0100 ---------------------------------------------------------------------- .../org/apache/marmotta/client/util/HTTPUtil.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/27750cd7/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java ---------------------------------------------------------------------- diff --git a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java index 3382657..c2cbd4d 100644 --- a/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java +++ b/client/marmotta-client-java/src/main/java/org/apache/marmotta/client/util/HTTPUtil.java @@ -35,7 +35,9 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.protocol.HttpContext; import org.apache.marmotta.client.ClientConfiguration; +import javax.xml.bind.DatatypeConverter; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.net.URISyntaxException; /** @@ -90,7 +92,19 @@ public class HTTPUtil { uriBuilder.addParameter(CONTEXT, config.getMarmottaContext()); } - return new HttpPost(uriBuilder.build()); + final HttpPost post = new HttpPost(uriBuilder.build()); + + if (StringUtils.isNotBlank(config.getMarmottaUser()) && StringUtils.isNotBlank(config.getMarmottaUser())) { + final String credentials = String.format("%s;%s", config.getMarmottaUser(), config.getMarmottaPassword()); + try { + final String encoded = DatatypeConverter.printBase64Binary(credentials.getBytes("UTF-8")); + post.setHeader("Authorization", String.format("Basic %s", encoded)); + } catch (UnsupportedEncodingException e) { + System.err.println("Error encoding credentials: " + e.getMessage()); + } + } + + return post; }
