summaryrefslogtreecommitdiff
path: root/spring-websocket/src/main/java
diff options
context:
space:
mode:
authorEmmanuel Bourg <ebourg@apache.org>2017-05-11 17:04:54 +0200
committerEmmanuel Bourg <ebourg@apache.org>2017-05-11 17:04:54 +0200
commit5b251f9ca7596793d669a9a36eb0d83ccd56f983 (patch)
treebf0bc03692283b9d2ef8b6e65ac64ad3654bd43b /spring-websocket/src/main/java
parent8fd583ef59610089f12d896b676b148eba4d32e3 (diff)
New upstream version 4.3.8
Diffstat (limited to 'spring-websocket/src/main/java')
-rw-r--r--spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketSession.java32
-rw-r--r--spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java3
2 files changed, 19 insertions, 16 deletions
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketSession.java b/spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketSession.java
index e6632eea..d2f8ae75 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketSession.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/adapter/jetty/JettyWebSocketSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2016 the original author or authors.
+ * Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -213,19 +213,19 @@ public class JettyWebSocketSession extends AbstractWebSocketSession<Session> {
this.id = ObjectUtils.getIdentityHexString(getNativeSession());
this.uri = session.getUpgradeRequest().getRequestURI();
- this.headers = new HttpHeaders();
- this.headers.putAll(session.getUpgradeRequest().getHeaders());
- this.headers = HttpHeaders.readOnlyHttpHeaders(this.headers);
+ HttpHeaders headers = new HttpHeaders();
+ headers.putAll(session.getUpgradeRequest().getHeaders());
+ this.headers = HttpHeaders.readOnlyHttpHeaders(headers);
this.acceptedProtocol = session.getUpgradeResponse().getAcceptedSubProtocol();
List<ExtensionConfig> jettyExtensions = session.getUpgradeResponse().getExtensions();
if (!CollectionUtils.isEmpty(jettyExtensions)) {
- this.extensions = new ArrayList<WebSocketExtension>(jettyExtensions.size());
+ List<WebSocketExtension> extensions = new ArrayList<WebSocketExtension>(jettyExtensions.size());
for (ExtensionConfig jettyExtension : jettyExtensions) {
- this.extensions.add(new WebSocketExtension(jettyExtension.getName(), jettyExtension.getParameters()));
+ extensions.add(new WebSocketExtension(jettyExtension.getName(), jettyExtension.getParameters()));
}
- this.extensions = Collections.unmodifiableList(this.extensions);
+ this.extensions = Collections.unmodifiableList(extensions);
}
else {
this.extensions = Collections.emptyList();
@@ -244,19 +244,19 @@ public class JettyWebSocketSession extends AbstractWebSocketSession<Session> {
this.id = ObjectUtils.getIdentityHexString(getNativeSession());
this.uri = (URI) ReflectionUtils.invokeMethod(getRequestURI, request);
- this.headers = new HttpHeaders();
- this.headers.putAll((Map<String, List<String>>) ReflectionUtils.invokeMethod(getHeaders, request));
- this.headers = HttpHeaders.readOnlyHttpHeaders(this.headers);
+ HttpHeaders headers = new HttpHeaders();
+ headers.putAll((Map<String, List<String>>) ReflectionUtils.invokeMethod(getHeaders, request));
+ this.headers = HttpHeaders.readOnlyHttpHeaders(headers);
this.acceptedProtocol = (String) ReflectionUtils.invokeMethod(getAcceptedSubProtocol, response);
- List<ExtensionConfig> extensions = (List<ExtensionConfig>) ReflectionUtils.invokeMethod(getExtensions, response);
- if (!CollectionUtils.isEmpty(extensions)) {
- this.extensions = new ArrayList<WebSocketExtension>(extensions.size());
- for (ExtensionConfig extension : extensions) {
- this.extensions.add(new WebSocketExtension(extension.getName(), extension.getParameters()));
+ List<ExtensionConfig> jettyExtensions = (List<ExtensionConfig>) ReflectionUtils.invokeMethod(getExtensions, response);
+ if (!CollectionUtils.isEmpty(jettyExtensions)) {
+ List<WebSocketExtension> extensions = new ArrayList<WebSocketExtension>(jettyExtensions.size());
+ for (ExtensionConfig jettyExtension : jettyExtensions) {
+ extensions.add(new WebSocketExtension(jettyExtension.getName(), jettyExtension.getParameters()));
}
- this.extensions = Collections.unmodifiableList(this.extensions);
+ this.extensions = Collections.unmodifiableList(extensions);
}
else {
this.extensions = Collections.emptyList();
diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java
index c9f170d5..c8a45096 100644
--- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java
+++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/transport/session/AbstractSockJsSession.java
@@ -455,6 +455,9 @@ public abstract class AbstractSockJsSession implements SockJsSession {
try {
sendHeartbeat();
}
+ catch (Throwable ex) {
+ // Ignore: already handled in writeFrame...
+ }
finally {
this.expired = true;
}