Browse Source

Merge branch '2.4.x' into 2.5.x

Closes gh-27204
pull/27229/head
Phillip Webb 5 years ago
parent
commit
f32f4a2e3d
  1. 11
      spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/livereload/Connection.java

11
spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/livereload/Connection.java

@ -23,7 +23,6 @@ import java.net.Socket;
import java.net.SocketTimeoutException; import java.net.SocketTimeoutException;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.util.Locale;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -44,7 +43,8 @@ class Connection {
private static final Log logger = LogFactory.getLog(Connection.class); private static final Log logger = LogFactory.getLog(Connection.class);
private static final Pattern WEBSOCKET_KEY_PATTERN = Pattern.compile("^sec-websocket-key:(.*)$", Pattern.MULTILINE); private static final Pattern WEBSOCKET_KEY_PATTERN = Pattern.compile("^sec-websocket-key:(.*)$",
Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
public static final String WEBSOCKET_GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; public static final String WEBSOCKET_GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
@ -73,7 +73,7 @@ class Connection {
this.outputStream = new ConnectionOutputStream(outputStream); this.outputStream = new ConnectionOutputStream(outputStream);
String header = this.inputStream.readHeader(); String header = this.inputStream.readHeader();
logger.debug(LogMessage.format("Established livereload connection [%s]", header)); logger.debug(LogMessage.format("Established livereload connection [%s]", header));
this.header = header.toLowerCase(Locale.ENGLISH); this.header = header;
} }
/** /**
@ -81,10 +81,11 @@ class Connection {
* @throws Exception in case of errors * @throws Exception in case of errors
*/ */
void run() throws Exception { void run() throws Exception {
if (this.header.contains("upgrade: websocket") && this.header.contains("sec-websocket-version: 13")) { String lowerCaseHeader = this.header.toLowerCase();
if (lowerCaseHeader.contains("upgrade: websocket") && lowerCaseHeader.contains("sec-websocket-version: 13")) {
runWebSocket(); runWebSocket();
} }
if (this.header.contains("get /livereload.js")) { if (lowerCaseHeader.contains("get /livereload.js")) {
this.outputStream.writeHttp(getClass().getResourceAsStream("livereload.js"), "text/javascript"); this.outputStream.writeHttp(getClass().getResourceAsStream("livereload.js"), "text/javascript");
} }
} }

Loading…
Cancel
Save