提交 cd4ce872 编写于 作者: J Juergen Hoeller

WebSocket namespace consistently applies resolvable allowed-origins value

Issue: SPR-13760
上级 d64ac32e
......@@ -45,7 +45,6 @@ import org.springframework.web.socket.sockjs.transport.handler.WebSocketTranspor
*/
class WebSocketNamespaceUtils {
public static RuntimeBeanReference registerHandshakeHandler(Element element, ParserContext context, Object source) {
RuntimeBeanReference handlerRef;
Element handlerElem = DomUtils.getChildElementByTagName(element, "handshake-handler");
......@@ -94,7 +93,6 @@ class WebSocketNamespaceUtils {
}
else if (handshakeHandler != null) {
RuntimeBeanReference handshakeHandlerRef = new RuntimeBeanReference(handshakeHandler.getAttribute("ref"));
RootBeanDefinition transportHandler = new RootBeanDefinition(WebSocketTransportHandler.class);
transportHandler.setSource(source);
transportHandler.getConstructorArgumentValues().addIndexedArgumentValue(0, handshakeHandlerRef);
......@@ -106,7 +104,9 @@ class WebSocketNamespaceUtils {
String allowedOriginsAttribute = element.getAttribute("allowed-origins");
List<String> allowedOrigins = Arrays.asList(StringUtils.tokenizeToStringArray(allowedOriginsAttribute, ","));
sockJsServiceDef.getPropertyValues().add("allowedOrigins", allowedOrigins);
interceptors.add(new OriginHandshakeInterceptor(allowedOrigins));
RootBeanDefinition originHandshakeInterceptor = new RootBeanDefinition(OriginHandshakeInterceptor.class);
originHandshakeInterceptor.getPropertyValues().add("allowedOrigins", allowedOrigins);
interceptors.add(originHandshakeInterceptor);
sockJsServiceDef.getPropertyValues().add("handshakeInterceptors", interceptors);
String attrValue = sockJsElement.getAttribute("name");
......@@ -174,7 +174,7 @@ class WebSocketNamespaceUtils {
ManagedList<? super Object> beans = new ManagedList<Object>();
if (parentElement != null) {
beans.setSource(context.extractSource(parentElement));
for (Element beanElement : DomUtils.getChildElementsByTagName(parentElement, new String[] {"bean", "ref"})) {
for (Element beanElement : DomUtils.getChildElementsByTagName(parentElement, "bean", "ref")) {
beans.add(context.getDelegate().parsePropertySubElement(beanElement, null));
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册