You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2016/12/03 16:37:51 UTC
[25/50] tomee git commit: TOMEE-1889 ensuring complex uri work with
basic auth for openejb-client http connection
TOMEE-1889 ensuring complex uri work with basic auth for openejb-client http connection
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/446c5784
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/446c5784
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/446c5784
Branch: refs/heads/tomee-1.7.x
Commit: 446c5784300da33266be0bc79afb2b883c87d5d5
Parents: 2493f40
Author: rmannibucau <rm...@apache.org>
Authored: Wed Oct 5 23:24:01 2016 +0200
Committer: rmannibucau <rm...@apache.org>
Committed: Wed Oct 5 23:24:01 2016 +0200
----------------------------------------------------------------------
.../client/FailoverConnectionFactory.java | 4 +--
.../openejb/client/HttpConnectionTest.java | 31 ++++++++++++++++++++
2 files changed, 33 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/446c5784/server/openejb-client/src/main/java/org/apache/openejb/client/FailoverConnectionFactory.java
----------------------------------------------------------------------
diff --git a/server/openejb-client/src/main/java/org/apache/openejb/client/FailoverConnectionFactory.java b/server/openejb-client/src/main/java/org/apache/openejb/client/FailoverConnectionFactory.java
index 22fd8a9..47c8ff5 100644
--- a/server/openejb-client/src/main/java/org/apache/openejb/client/FailoverConnectionFactory.java
+++ b/server/openejb-client/src/main/java/org/apache/openejb/client/FailoverConnectionFactory.java
@@ -57,12 +57,12 @@ public class FailoverConnectionFactory implements ConnectionFactory {
// failover:sticky:ejbd://foo:4201,ejbd://bar:4202
// trim off the "failover:"
- final String remainder = failoverUri.getSchemeSpecificPart();
+ final String remainder = failoverUri.getRawSchemeSpecificPart();
final URI uri = URI.create(remainder);
String strategy = uri.getScheme();
- String servers = uri.getSchemeSpecificPart();
+ String servers = uri.getRawSchemeSpecificPart();
if (servers.startsWith("//")) {
strategy = "default";
http://git-wip-us.apache.org/repos/asf/tomee/blob/446c5784/server/openejb-client/src/test/java/org/apache/openejb/client/HttpConnectionTest.java
----------------------------------------------------------------------
diff --git a/server/openejb-client/src/test/java/org/apache/openejb/client/HttpConnectionTest.java b/server/openejb-client/src/test/java/org/apache/openejb/client/HttpConnectionTest.java
index 565ce56..a37d8d3 100644
--- a/server/openejb-client/src/test/java/org/apache/openejb/client/HttpConnectionTest.java
+++ b/server/openejb-client/src/test/java/org/apache/openejb/client/HttpConnectionTest.java
@@ -32,6 +32,8 @@ import java.net.InetSocketAddress;
import java.net.URI;
import java.net.URISyntaxException;
+import static org.junit.Assert.fail;
+
public class HttpConnectionTest {
private HttpServer server;
@@ -124,4 +126,33 @@ public class HttpConnectionTest {
Assert.assertTrue("should contain", sb.toString().contains("secure pageBasic token"));
}
}
+
+ @Test
+ public void complexURIAuthorization() throws IOException, URISyntaxException {
+ final String baseHttp = "http://localhost:" + server.getAddress().getPort() + "/e?authorization=";
+ final String uri = "failover:sticky+random:" + baseHttp + "Basic%20ABCD&" + baseHttp + "Basic%20EFG";
+ final Connection connection = ConnectionManager.getConnection(new URI(uri));
+ BufferedReader br = null;
+ final StringBuilder sb = new StringBuilder();
+ String line;
+ try {
+ br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+ while ((line = br.readLine()) != null) {
+ sb.append(line);
+ }
+ } catch (final IOException e) {
+ fail(e.getMessage());
+ } finally {
+ if (br != null) {
+ try {
+ br.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ connection.close();
+ }
+ final String out = sb.toString();
+ Assert.assertTrue(out, out.contains("secure pageBasic ABCD"));
+ }
}