Skip to content

Commit 9447198

Browse files
Ian CraggsGerrit Code Review @ Eclipse.org
authored andcommitted
Merge "Bug: 482187 - HTTP headers should be case-insensitive for websockets Optimising the WebSocket headers case insensitivity fix by hardcoding the headers as lower case and removing the need for .toLowerCase() calls" into develop
2 parents 4ce2420 + b2ff952 commit 9447198

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

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

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ public class WebSocketHandshake {
3434
// Do not change: https://tools.ietf.org/html/rfc6455#section-1.3
3535
private static final String ACCEPT_SALT = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
3636
private static final String SHA1_PROTOCOL = "SHA1";
37-
private static final String HTTP_HEADER_SEC_WEBSOCKET_ACCEPT = "Sec-WebSocket-Accept";
38-
private static final String HTTP_HEADER_UPGRADE = "Upgrade";
37+
private static final String HTTP_HEADER_SEC_WEBSOCKET_ACCEPT = "sec-websocket-accept";
38+
private static final String HTTP_HEADER_UPGRADE = "upgrade";
3939
private static final String HTTP_HEADER_UPGRADE_WEBSOCKET = "websocket";
4040
private static final String EMPTY = "";
4141
private static final String LINE_SEPARATOR = "\r\n";
@@ -100,16 +100,16 @@ private void receiveHandshakeResponse(String key) throws IOException {
100100
}
101101
Map headerMap = getHeaders(responseLines);
102102
String upgradeHeader = (String) headerMap.get(HTTP_HEADER_UPGRADE);
103-
if(!upgradeHeader.toLowerCase().contains(HTTP_HEADER_UPGRADE_WEBSOCKET.toLowerCase())){
103+
if(!upgradeHeader.toLowerCase().contains(HTTP_HEADER_UPGRADE_WEBSOCKET)){
104104
throw new IOException("WebSocket Response header: Incorrect upgrade.");
105105
}
106106

107-
if(!headerMap.containsKey(HTTP_HEADER_SEC_WEBSOCKET_ACCEPT.toLowerCase())){
107+
if(!headerMap.containsKey(HTTP_HEADER_SEC_WEBSOCKET_ACCEPT)){
108108
throw new IOException("WebSocket Response header: Missing Sec-WebSocket-Accept");
109109
}
110110

111111
try {
112-
verifyWebSocketKey(key, (String)headerMap.get(HTTP_HEADER_SEC_WEBSOCKET_ACCEPT.toLowerCase()));
112+
verifyWebSocketKey(key, (String)headerMap.get(HTTP_HEADER_SEC_WEBSOCKET_ACCEPT));
113113
} catch (NoSuchAlgorithmException e) {
114114
throw new IOException(e.getMessage());
115115
} catch (HandshakeFailedException e) {

0 commit comments

Comments
 (0)