Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
0dcc5c04
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
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,发现更多精彩内容 >>
提交
0dcc5c04
编写于
8月 17, 2013
作者:
R
Rossen Stoyanchev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Adjust SockJS use of ServerHttpResponse close vs flush
上级
13ce20b1
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
18 addition
and
19 deletion
+18
-19
spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHttpRequestHandler.java
...eb/socket/server/support/WebSocketHttpRequestHandler.java
+8
-8
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsHttpRequestHandler.java
...framework/web/socket/sockjs/SockJsHttpRequestHandler.java
+9
-9
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java
...work/web/socket/sockjs/support/AbstractSockJsService.java
+1
-2
未找到文件。
spring-websocket/src/main/java/org/springframework/web/socket/server/support/WebSocketHttpRequestHandler.java
浏览文件 @
0dcc5c04
...
...
@@ -60,7 +60,7 @@ public class WebSocketHttpRequestHandler implements HttpRequestHandler {
private
final
HandshakeHandler
handshakeHandler
;
private
final
WebSocketHandler
w
ebSocket
Handler
;
private
final
WebSocketHandler
w
s
Handler
;
private
final
List
<
HandshakeInterceptor
>
interceptors
=
new
ArrayList
<
HandshakeInterceptor
>();
...
...
@@ -72,7 +72,7 @@ public class WebSocketHttpRequestHandler implements HttpRequestHandler {
public
WebSocketHttpRequestHandler
(
WebSocketHandler
webSocketHandler
,
HandshakeHandler
handshakeHandler
)
{
Assert
.
notNull
(
webSocketHandler
,
"webSocketHandler must not be null"
);
Assert
.
notNull
(
handshakeHandler
,
"handshakeHandler must not be null"
);
this
.
w
ebSocket
Handler
=
decorateWebSocketHandler
(
webSocketHandler
);
this
.
w
s
Handler
=
decorateWebSocketHandler
(
webSocketHandler
);
this
.
handshakeHandler
=
handshakeHandler
;
}
...
...
@@ -100,9 +100,9 @@ public class WebSocketHttpRequestHandler implements HttpRequestHandler {
* <p>By default {@link ExceptionWebSocketHandlerDecorator} and
* {@link LoggingWebSocketHandlerDecorator} are applied are added.
*/
protected
WebSocketHandler
decorateWebSocketHandler
(
WebSocketHandler
h
andler
)
{
handler
=
new
ExceptionWebSocketHandlerDecorator
(
h
andler
);
return
new
LoggingWebSocketHandlerDecorator
(
h
andler
);
protected
WebSocketHandler
decorateWebSocketHandler
(
WebSocketHandler
wsH
andler
)
{
wsHandler
=
new
ExceptionWebSocketHandlerDecorator
(
wsH
andler
);
return
new
LoggingWebSocketHandlerDecorator
(
wsH
andler
);
}
@Override
...
...
@@ -112,7 +112,7 @@ public class WebSocketHttpRequestHandler implements HttpRequestHandler {
ServerHttpRequest
request
=
new
ServletServerHttpRequest
(
servletRequest
);
ServerHttpResponse
response
=
new
ServletServerHttpResponse
(
servletResponse
);
HandshakeInterceptorChain
chain
=
new
HandshakeInterceptorChain
(
this
.
interceptors
,
this
.
w
ebSocket
Handler
);
HandshakeInterceptorChain
chain
=
new
HandshakeInterceptorChain
(
this
.
interceptors
,
this
.
w
s
Handler
);
HandshakeFailureException
failure
=
null
;
try
{
...
...
@@ -120,8 +120,9 @@ public class WebSocketHttpRequestHandler implements HttpRequestHandler {
if
(!
chain
.
applyBeforeHandshake
(
request
,
response
,
attributes
))
{
return
;
}
this
.
handshakeHandler
.
doHandshake
(
request
,
response
,
this
.
w
ebSocket
Handler
,
attributes
);
this
.
handshakeHandler
.
doHandshake
(
request
,
response
,
this
.
w
s
Handler
,
attributes
);
chain
.
applyAfterHandshake
(
request
,
response
,
null
);
response
.
close
();
}
catch
(
HandshakeFailureException
ex
)
{
failure
=
ex
;
...
...
@@ -134,7 +135,6 @@ public class WebSocketHttpRequestHandler implements HttpRequestHandler {
chain
.
applyAfterHandshake
(
request
,
response
,
failure
);
throw
failure
;
}
response
.
flush
();
}
}
...
...
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/SockJsHttpRequestHandler.java
浏览文件 @
0dcc5c04
...
...
@@ -43,19 +43,19 @@ public class SockJsHttpRequestHandler implements HttpRequestHandler {
private
final
SockJsService
sockJsService
;
private
final
WebSocketHandler
w
ebSocket
Handler
;
private
final
WebSocketHandler
w
s
Handler
;
/**
* Create a new {@link SockJsHttpRequestHandler}.
* @param sockJsService the SockJS service
* @param w
ebSocket
Handler the websocket handler
* @param w
s
Handler the websocket handler
*/
public
SockJsHttpRequestHandler
(
SockJsService
sockJsService
,
WebSocketHandler
w
ebSocket
Handler
)
{
public
SockJsHttpRequestHandler
(
SockJsService
sockJsService
,
WebSocketHandler
w
s
Handler
)
{
Assert
.
notNull
(
sockJsService
,
"sockJsService must not be null"
);
Assert
.
notNull
(
w
ebSocket
Handler
,
"webSocketHandler must not be null"
);
Assert
.
notNull
(
w
s
Handler
,
"webSocketHandler must not be null"
);
this
.
sockJsService
=
sockJsService
;
this
.
w
ebSocketHandler
=
decorateWebSocketHandler
(
webSocket
Handler
);
this
.
w
sHandler
=
decorateWebSocketHandler
(
ws
Handler
);
}
...
...
@@ -65,9 +65,9 @@ public class SockJsHttpRequestHandler implements HttpRequestHandler {
* <p>By default {@link ExceptionWebSocketHandlerDecorator} and
* {@link LoggingWebSocketHandlerDecorator} are applied are added.
*/
protected
WebSocketHandler
decorateWebSocketHandler
(
WebSocketHandler
h
andler
)
{
handler
=
new
ExceptionWebSocketHandlerDecorator
(
h
andler
);
return
new
LoggingWebSocketHandlerDecorator
(
h
andler
);
protected
WebSocketHandler
decorateWebSocketHandler
(
WebSocketHandler
wsH
andler
)
{
wsHandler
=
new
ExceptionWebSocketHandlerDecorator
(
wsH
andler
);
return
new
LoggingWebSocketHandlerDecorator
(
wsH
andler
);
}
@Override
...
...
@@ -78,7 +78,7 @@ public class SockJsHttpRequestHandler implements HttpRequestHandler {
ServerHttpResponse
response
=
new
ServletServerHttpResponse
(
servletResponse
);
try
{
this
.
sockJsService
.
handleRequest
(
request
,
response
,
this
.
w
ebSocket
Handler
);
this
.
sockJsService
.
handleRequest
(
request
,
response
,
this
.
w
s
Handler
);
}
catch
(
Throwable
t
)
{
throw
new
SockJsException
(
"Uncaught failure in SockJS request, uri="
+
request
.
getURI
(),
t
);
...
...
spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java
浏览文件 @
0dcc5c04
...
...
@@ -320,8 +320,7 @@ public abstract class AbstractSockJsService implements SockJsService {
}
handleTransportRequest
(
request
,
response
,
wsHandler
,
sessionId
,
transport
);
}
response
.
flush
();
response
.
close
();
}
catch
(
IOException
ex
)
{
throw
new
SockJsException
(
"Failed to write to the response"
,
null
,
ex
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录