Skip to content
This repository was archived by the owner on Jan 30, 2019. It is now read-only.

Commit 0f52ac4

Browse files
author
Arun Gupta
committed
Adding a configuration object
Former-commit-id: 7de2bf5676e766a4ecb4d7a39d178ab56bad05ff
1 parent ade2dd8 commit 0f52ac4

File tree

3 files changed

+75
-4
lines changed

3 files changed

+75
-4
lines changed

samples/websocket/websocket-client-config/src/main/java/org/sample/client/MyClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@
5151
/**
5252
* @author Arun Gupta
5353
*/
54-
@ClientEndpoint
54+
@ClientEndpoint(configurator = MyConfigurator.class)
5555
public class MyClient {
5656
@OnOpen
5757
public void onOpen(Session session) {
5858
System.out.println("Connected to endpoint: " + session.getBasicRemote());
5959
try {
6060
String name = "Duke";
61-
System.out.println("Sending message to endpoint: " + name);
61+
System.out.println("Sending message from client -> endpoint: " + name);
6262
session.getBasicRemote().sendText(name);
6363
} catch (IOException ex) {
6464
Logger.getLogger(MyClient.class.getName()).log(Level.SEVERE, null, ex);
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
/*
2+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3+
*
4+
* Copyright (c) 2013 Oracle and/or its affiliates. All rights reserved.
5+
*
6+
* The contents of this file are subject to the terms of either the GNU
7+
* General Public License Version 2 only ("GPL") or the Common Development
8+
* and Distribution License("CDDL") (collectively, the "License"). You
9+
* may not use this file except in compliance with the License. You can
10+
* obtain a copy of the License at
11+
* https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
12+
* or packager/legal/LICENSE.txt. See the License for the specific
13+
* language governing permissions and limitations under the License.
14+
*
15+
* When distributing the software, include this License Header Notice in each
16+
* file and include the License file at packager/legal/LICENSE.txt.
17+
*
18+
* GPL Classpath Exception:
19+
* Oracle designates this particular file as subject to the "Classpath"
20+
* exception as provided by Oracle in the GPL Version 2 section of the License
21+
* file that accompanied this code.
22+
*
23+
* Modifications:
24+
* If applicable, add the following below the License Header, with the fields
25+
* enclosed by brackets [] replaced by your own identifying information:
26+
* "Portions Copyright [year] [name of copyright owner]"
27+
*
28+
* Contributor(s):
29+
* If you wish your version of this file to be governed by only the CDDL or
30+
* only the GPL Version 2, indicate your decision by adding "[Contributor]
31+
* elects to include this software in this distribution under the [CDDL or GPL
32+
* Version 2] license." If you don't indicate a single choice of license, a
33+
* recipient has the option to distribute your version of this file under
34+
* either the CDDL, the GPL Version 2 or to extend the choice of license to
35+
* its licensees as provided above. However, if you add GPL Version 2 code
36+
* and therefore, elected the GPL Version 2 license, then the option applies
37+
* only if the new code is made subject to such option by the copyright
38+
* holder.
39+
*/
40+
package org.sample.client;
41+
42+
import java.util.List;
43+
import java.util.Map;
44+
import javax.websocket.ClientEndpointConfig;
45+
import javax.websocket.HandshakeResponse;
46+
47+
/**
48+
* @author Arun Gupta
49+
*/
50+
public class MyConfigurator extends ClientEndpointConfig.Configurator {
51+
52+
@Override
53+
public void beforeRequest(Map<String, List<String>> headers) {
54+
System.out.println("beforeRequest:");
55+
for (String h : headers.keySet()) {
56+
for (String k : headers.get(h)) {
57+
System.out.println("Header: " + h + ", " + k);
58+
}
59+
}
60+
61+
}
62+
63+
@Override
64+
public void afterResponse(HandshakeResponse response) {
65+
System.out.println("afterResponse:");
66+
for (String h : response.getHeaders().keySet()) {
67+
for (String k : response.getHeaders().get(h)) {
68+
System.out.println("Header: " + h + ", " + k);
69+
}
70+
}
71+
}
72+
}

samples/websocket/websocket-client-config/src/main/java/org/sample/client/TestClient.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ protected void processRequest(HttpServletRequest request, HttpServletResponse re
8383
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
8484
String uri = "ws://localhost:8080" + request.getContextPath() + "/websocket";
8585
out.println("Connecting to " + uri);
86-
// container.connectToServer(MyClient.class, URI.create(uri));
87-
container.connectToServer(MyEndpoint.class, URI.create(uri));
86+
container.connectToServer(MyClient.class, URI.create(uri));
8887
out.println("<br><br>Look in server.log for log messages from message exchange between client/server.");
8988

9089
out.println("</body>");

0 commit comments

Comments
 (0)