Skip to content

Commit 188aa66

Browse files
author
Ranjan Dasgupta
authored
Merge pull request #555 from vit21ik/PropertiesToMap502
Changed Propertiest to Map for custom WebSocket Headers (502)
2 parents 0941287 + c05461b commit 188aa66

5 files changed

Lines changed: 20 additions & 23 deletions

File tree

MQTTv3.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,10 @@ The included code below is a extended basic sample that connects to a server wit
107107
MqttClient client = new MqttClient("wss://<BROKER_URI>", "MyClient");
108108
109109
MqttConnectOptions connectOptions = new MqttConnectOptions();
110-
Properties properties = new Properties();
111-
properties.setProperty("X-Amz-CustomAuthorizer-Name", <SOME_VALUE>);
112-
properties.setProperty("X-Amz-CustomAuthorizer-Signature", <SOME_VALUE>);
113-
properties.setProperty(<SOME_VALUE>, <SOME_VALUE>);
110+
Map<String, String> properties = new HashMap<>();
111+
properties.put("X-Amz-CustomAuthorizer-Name", <SOME_VALUE>);
112+
properties.put("X-Amz-CustomAuthorizer-Signature", <SOME_VALUE>);
113+
properties.put(<SOME_KEY>, <SOME_VALUE>);
114114
connectOptions.setCustomWebSocketHeaders(properties);
115115
116116
client.connect(connectOptions);

org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/MqttConnectOptions.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818
package org.eclipse.paho.client.mqttv3;
1919

20+
import java.util.Map;
2021
import java.util.Properties;
2122

2223
import javax.net.SocketFactory;
@@ -73,7 +74,7 @@ public class MqttConnectOptions {
7374
private int mqttVersion = MQTT_VERSION_DEFAULT;
7475
private boolean automaticReconnect = false;
7576
private int maxReconnectDelay = 128000;
76-
private Properties customWebSocketHeaders = null;
77+
private Map<String, String> customWebSocketHeaders = null;
7778

7879
// Client Operation Parameters
7980
private int executorServiceTimeout = 1; // How long to wait in seconds when terminating the executor service.
@@ -685,15 +686,14 @@ public Properties getDebug() {
685686
/**
686687
* Sets the Custom WebSocket Headers for the WebSocket Connection.
687688
*
688-
* @param props
689-
* The custom websocket headers {@link Properties}
689+
* @param props The custom WebSocket headers {@link Map<String, String>}
690690
*/
691691

692-
public void setCustomWebSocketHeaders(Properties props) {
692+
public void setCustomWebSocketHeaders(Map<String, String> props) {
693693
this.customWebSocketHeaders = props;
694694
}
695695

696-
public Properties getCustomWebSocketHeaders() {
696+
public Map<String, String> getCustomWebSocketHeaders() {
697697
return customWebSocketHeaders;
698698
}
699699

org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/internal/websocket/WebSocketHandshake.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ public class WebSocketHandshake {
5555
String uri;
5656
String host;
5757
int port;
58-
Properties customWebSocketHeaders;
58+
Map<String, String> customWebSocketHeaders;
5959

60-
public WebSocketHandshake(InputStream input, OutputStream output, String uri, String host, int port, Properties customWebSocketHeaders){
60+
public WebSocketHandshake(InputStream input, OutputStream output, String uri, String host, int port, Map<String, String> customWebSocketHeaders){
6161
this.input = input;
6262
this.output = output;
6363
this.uri = uri;
@@ -113,12 +113,9 @@ private void sendHandshakeRequest(String key) throws IOException{
113113
pw.print("Sec-WebSocket-Version: 13" + LINE_SEPARATOR);
114114

115115
if (customWebSocketHeaders != null) {
116-
Set keys = customWebSocketHeaders.keySet();
117-
Iterator i = keys.iterator();
118-
while (i.hasNext()) {
119-
String k = (String) i.next();
120-
String value = customWebSocketHeaders.getProperty(k);
121-
pw.print(k + ": " + value + LINE_SEPARATOR);
116+
for (String headerKey : customWebSocketHeaders.keySet()) {
117+
String headerValue = customWebSocketHeaders.get(headerKey);
118+
pw.print(headerKey + ": " + headerValue + LINE_SEPARATOR);
122119
}
123120
}
124121

org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/internal/websocket/WebSocketNetworkModule.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.io.OutputStream;
2222
import java.io.PipedInputStream;
2323
import java.nio.ByteBuffer;
24-
import java.util.Properties;
24+
import java.util.Map;
2525

2626
import javax.net.SocketFactory;
2727

@@ -38,7 +38,7 @@ public class WebSocketNetworkModule extends TCPNetworkModule {
3838
private String uri;
3939
private String host;
4040
private int port;
41-
private Properties customWebsocketHeaders;
41+
private Map<String, String> customWebsocketHeaders;
4242
private PipedInputStream pipedInputStream;
4343
private WebSocketReceiver webSocketReceiver;
4444
ByteBuffer recievedPayload;
@@ -50,7 +50,7 @@ public class WebSocketNetworkModule extends TCPNetworkModule {
5050
*/
5151
private ByteArrayOutputStream outputStream = new ExtendedByteArrayOutputStream(this);
5252

53-
public WebSocketNetworkModule(SocketFactory factory, String uri, String host, int port, String resourceContext, Properties customWebsocketHeaders){
53+
public WebSocketNetworkModule(SocketFactory factory, String uri, String host, int port, String resourceContext, Map<String, String> customWebsocketHeaders){
5454
super(factory, host, port, resourceContext);
5555
this.uri = uri;
5656
this.host = host;

org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/internal/websocket/WebSocketSecureNetworkModule.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import java.io.OutputStream;
2222
import java.io.PipedInputStream;
2323
import java.nio.ByteBuffer;
24-
import java.util.Properties;
24+
import java.util.Map;
2525
import javax.net.ssl.SSLSocketFactory;
2626

2727
import org.eclipse.paho.client.mqttv3.MqttException;
@@ -39,7 +39,7 @@ public class WebSocketSecureNetworkModule extends SSLNetworkModule{
3939
private String uri;
4040
private String host;
4141
private int port;
42-
private Properties customWebSocketHeaders;
42+
private Map<String, String> customWebSocketHeaders;
4343
ByteBuffer recievedPayload;
4444

4545
/**
@@ -49,7 +49,7 @@ public class WebSocketSecureNetworkModule extends SSLNetworkModule{
4949
*/
5050
private ByteArrayOutputStream outputStream = new ExtendedByteArrayOutputStream(this);
5151

52-
public WebSocketSecureNetworkModule(SSLSocketFactory factory, String uri, String host, int port, String clientId, Properties customWebSocketHeaders) {
52+
public WebSocketSecureNetworkModule(SSLSocketFactory factory, String uri, String host, int port, String clientId, Map<String, String> customWebSocketHeaders) {
5353
super(factory, host, port, clientId);
5454
this.uri = uri;
5555
this.host = host;

0 commit comments

Comments
 (0)