Skip to content

Commit eec3c6f

Browse files
imkulwantsbrannen
authored andcommitted
Replace concatenated strings with text blocks
See gh-29408
1 parent 19955c5 commit eec3c6f

File tree

4 files changed

+84
-41
lines changed

4 files changed

+84
-41
lines changed

spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -614,22 +614,23 @@ else if (request.getMethod() == HttpMethod.OPTIONS) {
614614
private class IframeHandler implements SockJsRequestHandler {
615615

616616
private static final String IFRAME_CONTENT =
617-
"<!DOCTYPE html>\n" +
618-
"<html>\n" +
619-
"<head>\n" +
620-
" <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n" +
621-
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n" +
622-
" <script>\n" +
623-
" document.domain = document.domain;\n" +
624-
" _sockjs_onload = function(){SockJS.bootstrap_iframe();};\n" +
625-
" </script>\n" +
626-
" <script src=\"%s\"></script>\n" +
627-
"</head>\n" +
628-
"<body>\n" +
629-
" <h2>Don't panic!</h2>\n" +
630-
" <p>This is a SockJS hidden iframe. It's used for cross domain magic.</p>\n" +
631-
"</body>\n" +
632-
"</html>";
617+
"""
618+
<!DOCTYPE html>
619+
<html>
620+
<head>
621+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
622+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
623+
<script>
624+
document.domain = document.domain;
625+
_sockjs_onload = function(){SockJS.bootstrap_iframe();};
626+
</script>
627+
<script src="%s"></script>
628+
</head>
629+
<body>
630+
<h2>Don't panic!</h2>
631+
<p>This is a SockJS hidden iframe. It's used for cross domain magic.</p>
632+
</body>
633+
</html>""";
633634

634635
@Override
635636
public void handle(ServerHttpRequest request, ServerHttpResponse response) throws IOException {

spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/handler/HtmlFileTransportHandler.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,19 @@ public class HtmlFileTransportHandler extends AbstractHttpSendingTransportHandle
6060

6161
static {
6262
StringBuilder sb = new StringBuilder(
63-
"<!doctype html>\n" +
64-
"<html><head>\n" +
65-
" <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n" +
66-
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n" +
67-
"</head><body><h2>Don't panic!</h2>\n" +
68-
" <script>\n" +
69-
" document.domain = document.domain;\n" +
70-
" var c = parent.%s;\n" +
71-
" c.start();\n" +
72-
" function p(d) {c.message(d);};\n" +
73-
" window.onload = function() {c.stop();};\n" +
74-
" </script>"
63+
"""
64+
<!doctype html>
65+
<html><head>
66+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
67+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
68+
</head><body><h2>Don't panic!</h2>
69+
<script>
70+
document.domain = document.domain;
71+
var c = parent.%s;
72+
c.start();
73+
function p(d) {c.message(d);};
74+
window.onload = function() {c.stop();};
75+
</script>"""
7576
);
7677

7778
while (sb.length() < MINIMUM_PARTIAL_HTML_CONTENT_LENGTH) {

spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompSubProtocolHandlerTests.java

Lines changed: 45 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,11 @@ public void handleMessageToClientWithConnectedFrame() {
109109

110110
assertThat(this.session.getSentMessages().size()).isEqualTo(1);
111111
WebSocketMessage<?> textMessage = this.session.getSentMessages().get(0);
112-
assertThat(textMessage.getPayload()).isEqualTo(("CONNECTED\n" + "user-name:joe\n" + "\n" + "\u0000"));
112+
assertThat(textMessage.getPayload()).isEqualTo(("""
113+
CONNECTED
114+
user-name:joe
115+
116+
\u0000"""));
113117
}
114118

115119
@Test
@@ -123,7 +127,11 @@ public void handleMessageToClientWithDestinationUserNameProvider() {
123127

124128
assertThat(this.session.getSentMessages().size()).isEqualTo(1);
125129
WebSocketMessage<?> textMessage = this.session.getSentMessages().get(0);
126-
assertThat(textMessage.getPayload()).isEqualTo(("CONNECTED\n" + "user-name:joe\n" + "\n" + "\u0000"));
130+
assertThat(textMessage.getPayload()).isEqualTo(("""
131+
CONNECTED
132+
user-name:joe
133+
134+
\u0000"""));
127135
}
128136

129137
@Test
@@ -142,8 +150,13 @@ public void handleMessageToClientWithSimpConnectAck() {
142150

143151
assertThat(this.session.getSentMessages().size()).isEqualTo(1);
144152
TextMessage actual = (TextMessage) this.session.getSentMessages().get(0);
145-
assertThat(actual.getPayload()).isEqualTo(("CONNECTED\n" + "version:1.2\n" + "heart-beat:15000,15000\n" +
146-
"user-name:joe\n" + "\n" + "\u0000"));
153+
assertThat(actual.getPayload()).isEqualTo(("""
154+
CONNECTED
155+
version:1.2
156+
heart-beat:15000,15000
157+
user-name:joe
158+
159+
\u0000"""));
147160
}
148161

149162
@Test
@@ -161,8 +174,13 @@ public void handleMessageToClientWithSimpConnectAckDefaultHeartBeat() {
161174

162175
assertThat(this.session.getSentMessages().size()).isEqualTo(1);
163176
TextMessage actual = (TextMessage) this.session.getSentMessages().get(0);
164-
assertThat(actual.getPayload()).isEqualTo(("CONNECTED\n" + "version:1.0\n" + "heart-beat:0,0\n" +
165-
"user-name:joe\n" + "\n" + "\u0000"));
177+
assertThat(actual.getPayload()).isEqualTo(("""
178+
CONNECTED
179+
version:1.0
180+
heart-beat:0,0
181+
user-name:joe
182+
183+
\u0000"""));
166184
}
167185

168186
@Test
@@ -178,8 +196,12 @@ public void handleMessageToClientWithSimpDisconnectAck() {
178196

179197
assertThat(this.session.getSentMessages().size()).isEqualTo(1);
180198
TextMessage actual = (TextMessage) this.session.getSentMessages().get(0);
181-
assertThat(actual.getPayload()).isEqualTo(("ERROR\n" + "message:Session closed.\n" + "content-length:0\n" +
182-
"\n\u0000"));
199+
assertThat(actual.getPayload()).isEqualTo(("""
200+
ERROR
201+
message:Session closed.
202+
content-length:0
203+
204+
\u0000"""));
183205
}
184206

185207
@Test
@@ -196,7 +218,11 @@ public void handleMessageToClientWithSimpDisconnectAckAndReceipt() {
196218

197219
assertThat(this.session.getSentMessages().size()).isEqualTo(1);
198220
TextMessage actual = (TextMessage) this.session.getSentMessages().get(0);
199-
assertThat(actual.getPayload()).isEqualTo(("RECEIPT\n" + "receipt-id:message-123\n" + "\n\u0000"));
221+
assertThat(actual.getPayload()).isEqualTo(("""
222+
RECEIPT
223+
receipt-id:message-123
224+
225+
\u0000"""));
200226
}
201227

202228
@Test
@@ -391,7 +417,11 @@ public void handleMessageFromClientWithTokenAuthentication() {
391417
assertThat(this.session.getSentMessages()).hasSize(1);
392418
WebSocketMessage<?> textMessage = this.session.getSentMessages().get(0);
393419
assertThat(textMessage.getPayload())
394-
.isEqualTo("CONNECTED\n" + "user-name:[email protected]\n" + "\n" + "\u0000");
420+
.isEqualTo("""
421+
CONNECTED
422+
423+
424+
\u0000""");
395425
}
396426

397427
@Test
@@ -470,7 +500,11 @@ public void eventPublicationWithExceptions() {
470500

471501
assertThat(this.session.getSentMessages().size()).isEqualTo(1);
472502
textMessage = (TextMessage) this.session.getSentMessages().get(0);
473-
assertThat(textMessage.getPayload()).isEqualTo(("CONNECTED\n" + "user-name:joe\n" + "\n" + "\u0000"));
503+
assertThat(textMessage.getPayload()).isEqualTo(("""
504+
CONNECTED
505+
user-name:joe
506+
507+
\u0000"""));
474508

475509
this.protocolHandler.afterSessionEnded(this.session, CloseStatus.BAD_DATA, this.channel);
476510

spring-websocket/src/test/java/org/springframework/web/socket/sockjs/client/RestTemplateXhrTransportTests.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,10 @@ public class RestTemplateXhrTransportTests {
7575

7676
@Test
7777
public void connectReceiveAndClose() throws Exception {
78-
String body = "o\n" + "a[\"foo\"]\n" + "c[3000,\"Go away!\"]";
78+
String body = """
79+
o
80+
a["foo"]
81+
c[3000,"Go away!"]""";
7982
ClientHttpResponse response = response(HttpStatus.OK, body);
8083
connect(response);
8184

@@ -157,7 +160,11 @@ public void errorResponseStatus() throws Exception {
157160

158161
@Test
159162
public void responseClosedAfterDisconnected() throws Exception {
160-
String body = "o\n" + "c[3000,\"Go away!\"]\n" + "a[\"foo\"]\n";
163+
String body = """
164+
o
165+
c[3000,"Go away!"]
166+
a["foo"]
167+
""";
161168
ClientHttpResponse response = response(HttpStatus.OK, body);
162169
connect(response);
163170

0 commit comments

Comments
 (0)