You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cs...@apache.org on 2016/11/22 12:28:36 UTC
activemq git commit: https://issues.apache.org/jira/browse/AMQ-6491
Repository: activemq
Updated Branches:
refs/heads/master 7dc70e03e -> f40532a23
https://issues.apache.org/jira/browse/AMQ-6491
Changing the WebSocket servlet to return a succesful empty response
instead of an error when a GET request is made
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/f40532a2
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/f40532a2
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/f40532a2
Branch: refs/heads/master
Commit: f40532a23d70639a027fcf87893de8683edf430f
Parents: 7dc70e0
Author: Christopher L. Shannon (cshannon) <ch...@gmail.com>
Authored: Tue Nov 22 07:27:29 2016 -0500
Committer: Christopher L. Shannon (cshannon) <ch...@gmail.com>
Committed: Tue Nov 22 07:27:29 2016 -0500
----------------------------------------------------------------------
.../activemq/transport/ws/jetty9/WSServlet.java | 2 +-
.../transport/ws/WSTransportHttpTraceTest.java | 8 +---
.../ws/WSTransportLinkStealingTest.java | 2 +-
.../activemq/transport/ws/WSTransportTest.java | 41 +++++++++++++++++++-
.../transport/wss/WSSTransportTest.java | 17 ++++++--
5 files changed, 56 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/f40532a2/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/WSServlet.java
----------------------------------------------------------------------
diff --git a/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/WSServlet.java b/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/WSServlet.java
index 1f7c5e7..21754ad 100644
--- a/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/WSServlet.java
+++ b/activemq-http/src/main/java/org/apache/activemq/transport/ws/jetty9/WSServlet.java
@@ -85,7 +85,7 @@ public class WSServlet extends WebSocketServlet implements BrokerServiceAware {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- getServletContext().getNamedDispatcher("default").forward(request, response);
+ //return empty response - AMQ-6491
}
@Override
http://git-wip-us.apache.org/repos/asf/activemq/blob/f40532a2/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportHttpTraceTest.java
----------------------------------------------------------------------
diff --git a/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportHttpTraceTest.java b/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportHttpTraceTest.java
index 5b82ce0..64392b1 100644
--- a/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportHttpTraceTest.java
+++ b/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportHttpTraceTest.java
@@ -20,14 +20,13 @@ package org.apache.activemq.transport.ws;
import java.util.Collection;
import org.apache.activemq.transport.http.HttpTraceTestSupport;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
-public class WSTransportHttpTraceTest extends WSTransportTest {
+public class WSTransportHttpTraceTest extends WSTransportTestSupport {
protected String enableTraceParam;
protected int expectedStatus;
@@ -58,9 +57,4 @@ public class WSTransportHttpTraceTest extends WSTransportTest {
HttpTraceTestSupport.testHttpTraceEnabled("http://127.0.0.1:61623", expectedStatus, null);
}
- @Override
- @Ignore
- @Test
- public void testBrokerStart() throws Exception {
- }
}
http://git-wip-us.apache.org/repos/asf/activemq/blob/f40532a2/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportLinkStealingTest.java
----------------------------------------------------------------------
diff --git a/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportLinkStealingTest.java b/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportLinkStealingTest.java
index bd5770c..2ca03c8 100644
--- a/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportLinkStealingTest.java
+++ b/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportLinkStealingTest.java
@@ -50,7 +50,7 @@ public class WSTransportLinkStealingTest {
context.afterPropertiesSet();
broker.setSslContext(context);
- broker.addConnector(getWSConnectorURI()).setName("ws+mqtt");;
+ broker.addConnector(getWSConnectorURI()).setName("ws+mqtt");
broker.setDeleteAllMessagesOnStartup(deleteMessages);
broker.start();
broker.waitUntilStarted();
http://git-wip-us.apache.org/repos/asf/activemq/blob/f40532a2/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java
----------------------------------------------------------------------
diff --git a/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java b/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java
index f9fe74d..ca11876 100644
--- a/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java
+++ b/activemq-http/src/test/java/org/apache/activemq/transport/ws/WSTransportTest.java
@@ -17,6 +17,7 @@
package org.apache.activemq.transport.ws;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.File;
@@ -25,13 +26,22 @@ import java.net.Socket;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.UnknownHostException;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicInteger;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.transport.SocketConnectorFactory;
import org.apache.activemq.transport.stomp.StompConnection;
import org.apache.activemq.util.Wait;
+import org.eclipse.jetty.client.HttpClient;
+import org.eclipse.jetty.client.api.Request;
+import org.eclipse.jetty.client.api.Result;
+import org.eclipse.jetty.client.util.BufferingResponseListener;
+import org.eclipse.jetty.http.HttpMethod;
+import org.eclipse.jetty.http.HttpStatus;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.eclipse.jetty.webapp.WebAppContext;
import org.junit.After;
import org.junit.Before;
@@ -57,9 +67,10 @@ public class WSTransportTest extends WSTransportTestSupport {
private File profileDir;
private String stompUri;
-
private StompConnection stompConnection = new StompConnection();
+ protected final int port = 61623;
+
@Override
protected void addAdditionalConnectors(BrokerService service) throws Exception {
stompUri = service.addConnector("stomp://localhost:0").getPublishableConnectString();
@@ -67,7 +78,7 @@ public class WSTransportTest extends WSTransportTestSupport {
@Override
protected String getWSConnectorURI() {
- return "ws://127.0.0.1:61623?websocket.maxTextMessageSize=99999&transport.maxIdleTime=1001";
+ return "ws://127.0.0.1:" + port + "?websocket.maxTextMessageSize=99999&transport.maxIdleTime=1001";
}
protected Server createWebServer() throws Exception {
@@ -143,6 +154,32 @@ public class WSTransportTest extends WSTransportTestSupport {
assertTrue(broker.isStarted());
}
+ @Test(timeout=10000)
+ public void testGet() throws Exception {
+ testGet("http://127.0.0.1:" + port, null);
+ }
+
+
+ protected void testGet(final String uri, SslContextFactory
+ sslContextFactory) throws Exception {
+ HttpClient httpClient = sslContextFactory != null ? new HttpClient(sslContextFactory) :
+ new HttpClient(new SslContextFactory());
+ httpClient.start();
+
+ final CountDownLatch latch = new CountDownLatch(1);
+ Request request = httpClient.newRequest(uri).method(HttpMethod.GET);
+ final AtomicInteger status = new AtomicInteger();
+ request.send(new BufferingResponseListener() {
+ @Override
+ public void onComplete(Result result) {
+ status.set(result.getResponse().getStatus());
+ latch.countDown();
+ }
+ });
+ latch.await();
+ assertEquals(HttpStatus.OK_200, status.get());
+ }
+
@Ignore
@Test
public void testFireFoxWebSockets() throws Exception {
http://git-wip-us.apache.org/repos/asf/activemq/blob/f40532a2/activemq-http/src/test/java/org/apache/activemq/transport/wss/WSSTransportTest.java
----------------------------------------------------------------------
diff --git a/activemq-http/src/test/java/org/apache/activemq/transport/wss/WSSTransportTest.java b/activemq-http/src/test/java/org/apache/activemq/transport/wss/WSSTransportTest.java
index 6af0f4e..a3722c2 100644
--- a/activemq-http/src/test/java/org/apache/activemq/transport/wss/WSSTransportTest.java
+++ b/activemq-http/src/test/java/org/apache/activemq/transport/wss/WSSTransportTest.java
@@ -21,6 +21,8 @@ import org.apache.activemq.transport.ws.WSTransportTest;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
+import org.junit.Test;
public class WSSTransportTest extends WSTransportTest {
@Override
@@ -38,12 +40,21 @@ public class WSSTransportTest extends WSTransportTest {
@Override
protected String getWSConnectorURI() {
- return "wss://localhost:61623";
+ return "wss://localhost:" + port;
+ }
+
+ @Override
+ @Test(timeout=10000)
+ public void testGet() throws Exception {
+ SslContextFactory factory = new SslContextFactory();
+ factory.setSslContext(broker.getSslContext().getSSLContext());
+
+ testGet("https://127.0.0.1:" + port, factory);
}
@Override
protected String getTestURI() {
- int port = getProxyPort();
- return "https://localhost:" + port + "/websocket.html#wss://localhost:61623";
+ int proxyPort = getProxyPort();
+ return "https://localhost:" + proxyPort + "/websocket.html#wss://localhost:" + port;
}
}