Skip to content

Commit 60c56d8

Browse files
changes from review
Signed-off-by: Lachlan Roberts <[email protected]>
1 parent 458d67e commit 60c56d8

File tree

4 files changed

+10
-13
lines changed

4 files changed

+10
-13
lines changed

jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/XmlBasedHttpClientProvider.java

+1-7
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,10 @@ public static HttpClient get(@SuppressWarnings("unused") WebSocketContainerScope
4646
Thread.currentThread().setContextClassLoader(HttpClient.class.getClassLoader());
4747
return newHttpClient(resource);
4848
}
49-
catch (Throwable t)
50-
{
51-
LOG.warn("Failure to load HttpClient from XML", t);
52-
}
5349
finally
5450
{
5551
Thread.currentThread().setContextClassLoader(contextClassLoader);
5652
}
57-
58-
return null;
5953
}
6054

6155
private static HttpClient newHttpClient(URL resource)
@@ -67,7 +61,7 @@ private static HttpClient newHttpClient(URL resource)
6761
}
6862
catch (Throwable t)
6963
{
70-
LOG.warn("Unable to load: {}", resource, t);
64+
LOG.warn("Failure to load HttpClient from XML {}", resource, t);
7165
}
7266

7367
return null;

tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -351,9 +351,7 @@ public void testWebsocketClientInWebappProvidedByServer(String scheme) throws Ex
351351
assertEquals(HttpStatus.OK_200, response.getStatus());
352352
String content = response.getContentAsString();
353353
assertThat(content, containsString("WebSocketEcho: success"));
354-
355-
// We cannot test the HttpClient timeout because it is a server class not exposed to the webapp.
356-
// assertThat(content, containsString("ConnectTimeout: 4999"));
354+
assertThat(content, containsString("ConnectTimeout: 4999"));
357355
}
358356
}
359357
}
@@ -387,6 +385,7 @@ public void testWebsocketClientInWebapp(String scheme) throws Exception
387385
String[] args2 = {
388386
"jetty.http.port=" + port,
389387
"jetty.ssl.port=" + port,
388+
// We must hide the websocket classes from the webapp if we are to include websocket client jars in WEB-INF/lib.
390389
"jetty.webapp.addServerClasses+=,+org.eclipse.jetty.websocket.",
391390
"jetty.webapp.addSystemClasses+=,-org.eclipse.jetty.websocket.",
392391
// "jetty.server.dumpAfterStart=true",
Binary file not shown.

tests/test-webapps/test-websocket-client-provided-webapp/src/main/java/org/eclipse/jetty/tests/webapp/websocket/WebSocketClientServlet.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.eclipse.jetty.tests.webapp.websocket;
2020

2121
import java.io.PrintWriter;
22+
import java.lang.reflect.Method;
2223
import java.net.URI;
2324
import java.util.concurrent.ArrayBlockingQueue;
2425
import java.util.concurrent.CountDownLatch;
@@ -45,7 +46,7 @@ public class WebSocketClientServlet extends HttpServlet
4546
@Override
4647
public void init() throws ServletException
4748
{
48-
// We must rely on jetty-websocket-httpclient.xml as we do not have access to server classes like HttpClient.
49+
// Cannot instantiate an HttpClient here because it's a server class, and therefore must rely on jetty-websocket-httpclient.xml
4950
client = new WebSocketClient();
5051

5152
try
@@ -90,8 +91,11 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
9091
PrintWriter writer = resp.getWriter();
9192
writer.println("WebSocketEcho: " + ("test message".equals(response) ? "success" : "failure"));
9293
writer.println("WebSocketEcho: success");
93-
// We cannot test the HttpClient timeout because it is a server class not exposed to the webapp.
94-
// writer.println("ConnectTimeout: " + client.getHttpClient().getConnectTimeout());
94+
95+
// We need to test HttpClient timeout with reflection because it is a server class not exposed to the webapp.
96+
Object httpClient = client.getHttpClient();
97+
Method getConnectTimeout = httpClient.getClass().getMethod("getConnectTimeout");
98+
writer.println("ConnectTimeout: " + getConnectTimeout.invoke(httpClient));
9599
}
96100
catch (Exception e)
97101
{

0 commit comments

Comments
 (0)