Avoid unescape for CONNECT and CONNECTED frames

See gh-27722
This commit is contained in:
조현수(Hyunsoo Cho)/Platform Engineering팀/11ST
2021-11-24 15:20:51 +09:00
committed by Rossen Stoyanchev
parent 7854dbb025
commit 5d91560f92
2 changed files with 23 additions and 4 deletions

View File

@@ -159,6 +159,23 @@ public class StompDecoderTests {
assertThat(headers.getFirstNativeHeader("a:\r\n\\b")).isEqualTo("alpha:bravo\r\n\\");
}
@Test
public void decodeFrameWithHeaderWithBackslashValue() {
String accept = "accept-version:1.1\n";
String keyAndValueWithBackslash = "key:\\value\n";
Message<byte[]> frame = decode("CONNECT\n" + accept + keyAndValueWithBackslash + "\n\0");
StompHeaderAccessor headers = StompHeaderAccessor.wrap(frame);
assertThat(headers.getCommand()).isEqualTo(StompCommand.CONNECT);
assertThat(headers.toNativeHeaderMap().size()).isEqualTo(2);
assertThat(headers.getFirstNativeHeader("accept-version")).isEqualTo("1.1");
assertThat(headers.getFirstNativeHeader("key")).isEqualTo("\\value");
assertThat(frame.getPayload().length).isEqualTo(0);
}
@Test
public void decodeFrameBodyNotAllowed() {
assertThatExceptionOfType(StompConversionException.class).isThrownBy(() ->