Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sesemomo
spring-framework
提交
cf964168
S
spring-framework
项目概览
sesemomo
/
spring-framework
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cf964168
编写于
9月 13, 2018
作者:
R
Rossen Stoyanchev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
StompSubProtocolHandler allows version 1.0
Issue: SPR-17258
上级
97cea7f3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
13 deletion
+12
-13
spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java
...amework/web/socket/messaging/StompSubProtocolHandler.java
+8
-9
spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompSubProtocolHandlerTests.java
...rk/web/socket/messaging/StompSubProtocolHandlerTests.java
+4
-4
未找到文件。
spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java
浏览文件 @
cf964168
...
...
@@ -85,6 +85,8 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
*/
public
static
final
String
CONNECTED_USER_HEADER
=
"user-name"
;
private
static
final
String
[]
SUPPORTED_VERSIONS
=
{
"1.2"
,
"1.1"
,
"1.0"
};
private
static
final
Log
logger
=
LogFactory
.
getLog
(
StompSubProtocolHandler
.
class
);
private
static
final
byte
[]
EMPTY_PAYLOAD
=
new
byte
[
0
];
...
...
@@ -524,15 +526,12 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE
if
(
connectHeaders
!=
null
)
{
Set
<
String
>
acceptVersions
=
connectHeaders
.
getAcceptVersion
();
if
(
acceptVersions
.
contains
(
"1.2"
))
{
connectedHeaders
.
setVersion
(
"1.2"
);
}
else
if
(
acceptVersions
.
contains
(
"1.1"
))
{
connectedHeaders
.
setVersion
(
"1.1"
);
}
else
if
(!
acceptVersions
.
isEmpty
())
{
throw
new
IllegalArgumentException
(
"Unsupported STOMP version '"
+
acceptVersions
+
"'"
);
}
connectedHeaders
.
setVersion
(
Arrays
.
stream
(
SUPPORTED_VERSIONS
)
.
filter
(
acceptVersions:
:
contains
)
.
findAny
()
.
orElseThrow
(()
->
new
IllegalArgumentException
(
"Unsupported STOMP version '"
+
acceptVersions
+
"'"
)));
}
long
[]
heartbeat
=
(
long
[])
connectAckHeaders
.
getHeader
(
SimpMessageHeaderAccessor
.
HEART_BEAT_HEADER
);
...
...
spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompSubProtocolHandlerTests.java
浏览文件 @
cf964168
...
...
@@ -126,7 +126,7 @@ public class StompSubProtocolHandlerTests {
StompHeaderAccessor
accessor
=
StompHeaderAccessor
.
create
(
StompCommand
.
CONNECT
);
accessor
.
setHeartbeat
(
10000
,
10000
);
accessor
.
setAcceptVersion
(
"1.0,1.1"
);
accessor
.
setAcceptVersion
(
"1.0,1.1
,1.2
"
);
Message
<?>
connectMessage
=
MessageBuilder
.
createMessage
(
EMPTY_PAYLOAD
,
accessor
.
getMessageHeaders
());
SimpMessageHeaderAccessor
ackAccessor
=
SimpMessageHeaderAccessor
.
create
(
SimpMessageType
.
CONNECT_ACK
);
...
...
@@ -137,7 +137,7 @@ public class StompSubProtocolHandlerTests {
assertEquals
(
1
,
this
.
session
.
getSentMessages
().
size
());
TextMessage
actual
=
(
TextMessage
)
this
.
session
.
getSentMessages
().
get
(
0
);
assertEquals
(
"CONNECTED\n"
+
"version:1.
1
\n"
+
"heart-beat:15000,15000\n"
+
assertEquals
(
"CONNECTED\n"
+
"version:1.
2
\n"
+
"heart-beat:15000,15000\n"
+
"user-name:joe\n"
+
"\n"
+
"\u0000"
,
actual
.
getPayload
());
}
...
...
@@ -146,7 +146,7 @@ public class StompSubProtocolHandlerTests {
StompHeaderAccessor
accessor
=
StompHeaderAccessor
.
create
(
StompCommand
.
CONNECT
);
accessor
.
setHeartbeat
(
10000
,
10000
);
accessor
.
setAcceptVersion
(
"1.0
,1.1
"
);
accessor
.
setAcceptVersion
(
"1.0"
);
Message
<?>
connectMessage
=
MessageBuilder
.
createMessage
(
EMPTY_PAYLOAD
,
accessor
.
getMessageHeaders
());
SimpMessageHeaderAccessor
ackAccessor
=
SimpMessageHeaderAccessor
.
create
(
SimpMessageType
.
CONNECT_ACK
);
...
...
@@ -156,7 +156,7 @@ public class StompSubProtocolHandlerTests {
assertEquals
(
1
,
this
.
session
.
getSentMessages
().
size
());
TextMessage
actual
=
(
TextMessage
)
this
.
session
.
getSentMessages
().
get
(
0
);
assertEquals
(
"CONNECTED\n"
+
"version:1.
1
\n"
+
"heart-beat:0,0\n"
+
assertEquals
(
"CONNECTED\n"
+
"version:1.
0
\n"
+
"heart-beat:0,0\n"
+
"user-name:joe\n"
+
"\n"
+
"\u0000"
,
actual
.
getPayload
());
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录