20
20
import org .eclipse .jetty .server .Request ;
21
21
import org .eclipse .jetty .server .Server ;
22
22
import org .eclipse .jetty .server .handler .AbstractHandler ;
23
+ import org .eclipse .jetty .server .handler .HandlerList ;
23
24
import org .eclipse .jetty .server .nio .SelectChannelConnector ;
24
25
import org .testng .annotations .BeforeClass ;
25
26
import org .testng .annotations .Test ;
@@ -48,20 +49,26 @@ public void setUpGlobal() throws Exception {
48
49
_connector .setPort (port1 );
49
50
50
51
addConnector (_connector );
51
- WebSocketHandler _wsHandler = getWebSocketHandler ();
52
52
53
- setHandler (_wsHandler );
53
+
54
+
54
55
55
56
port2 = findFreePort ();
56
57
final SelectChannelConnector connector2 = new SelectChannelConnector ();
57
58
connector2 .setPort (port2 );
58
59
addConnector (connector2 );
59
- setHandler (new AbstractHandler () {
60
- @ Override
61
- public void handle (String s , Request request , HttpServletRequest httpServletRequest , HttpServletResponse httpServletResponse ) throws IOException , ServletException {
62
- httpServletResponse .sendRedirect (getTargetUrl ());
63
- }
64
- });
60
+ WebSocketHandler _wsHandler = getWebSocketHandler ();
61
+ HandlerList list = new HandlerList ();
62
+ list .addHandler (new AbstractHandler () {
63
+ @ Override
64
+ public void handle (String s , Request request , HttpServletRequest httpServletRequest , HttpServletResponse httpServletResponse ) throws IOException , ServletException {
65
+ if (request .getLocalPort () == port2 ) {
66
+ httpServletResponse .sendRedirect (getTargetUrl ());
67
+ }
68
+ }
69
+ });
70
+ list .addHandler (_wsHandler );
71
+ setHandler (list );
65
72
66
73
start ();
67
74
log .info ("Local HTTP server started successfully" );
@@ -81,11 +88,11 @@ public org.eclipse.jetty.websocket.WebSocket doWebSocketConnect(HttpServletReque
81
88
82
89
@ Test (timeOut = 60000 )
83
90
public void testRedirectToWSResource () throws Exception {
84
- AsyncHttpClient c = getAsyncHttpClient (new AsyncHttpClientConfig .Builder ().build ());
91
+ AsyncHttpClient c = getAsyncHttpClient (new AsyncHttpClientConfig .Builder ().setFollowRedirects ( true ). build ());
85
92
final CountDownLatch latch = new CountDownLatch (1 );
86
93
final AtomicReference <String > text = new AtomicReference <String >("" );
87
94
88
- WebSocket websocket = c .prepareGet (getTargetUrl ())
95
+ WebSocket websocket = c .prepareGet (getRedirectURL ())
89
96
.execute (new WebSocketUpgradeHandler .Builder ().addWebSocketListener (new WebSocketListener () {
90
97
91
98
@ Override
0 commit comments