Author: remm
Date: Mon Dec 1 17:55:07 2014
New Revision: 1642721
URL: http://svn.apache.org/r1642721
Log:
Try a better origin header.
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1642721&r1=1642720&r2=1642721&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Mon
Dec 1 17:55:07 2014
@@ -224,8 +224,6 @@ public class WsWebSocketContainer
clientEndpointConfiguration.getConfigurator().
beforeRequest(reqHeaders);
- ByteBuffer request = createRequest(path, reqHeaders);
-
SocketAddress sa;
if (port == -1) {
if ("ws".equalsIgnoreCase(scheme)) {
@@ -244,6 +242,20 @@ public class WsWebSocketContainer
sa = new InetSocketAddress(host, port);
}
+ // Origin header
+ if (!reqHeaders.containsKey(Constants.ORIGIN_HEADER_NAME)) {
+ List<String> originValues = new ArrayList<>(1);
+ StringBuffer originValue = new StringBuffer();
+
originValue.append(path.getScheme()).append("://").append(path.getHost());
+ if (port != -1) {
+ originValue.append(':').append(port);
+ }
+ originValues.add(originValue.toString());
+ reqHeaders.put(Constants.ORIGIN_HEADER_NAME, originValues);
+ }
+
+ ByteBuffer request = createRequest(path, reqHeaders);
+
AsynchronousSocketChannel socketChannel;
try {
socketChannel =
AsynchronousSocketChannel.open(getAsynchronousChannelGroup());
@@ -476,11 +488,6 @@ public class WsWebSocketContainer
generateExtensionHeaders(extensions));
}
- // Origin header
- List<String> originValues = new ArrayList<>(1);
- originValues.add(path.toString());
- headers.put(Constants.ORIGIN_HEADER_NAME, originValues);
-
return headers;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]