Change By: Stuart Douglas (11/Nov/13 5:12 AM)
Summary: invocation order of filters and listeners is reversed ConversationContextActivator calls getRequestParameters() ,  breaks filter mechanism for encoding filters  which forces form data to be parsed
Description: ServletInitialHandler.handleFirstRequest:

current invocation order:
        listeners.requestInitialized(request);
        next.handleRequest(exchange);

this effectively
This  means that  RequestListeners like ConversationContextActivator will be invoked before any filter  the user cannot actually parse the information themselves ,  as required by spec,  and  so will initiate the form parsing before filter may  also means that they cannot  set  the  an  encoding :

Parsing of FormEncodedData
 in  ConversationContextActivator:
"default task-4"
io.undertow.server.handlers.form.FormEncodedDataDefinition.create(FormEncodedDataDefinition.java:57)
io.undertow.server.handlers.form.FormParserFactory.createParser(FormParserFactory.java:41)
io.undertow.servlet.spec.HttpServletRequestImpl.parseFormData(HttpServletRequestImpl.java:698)
io.undertow.servlet.spec.HttpServletRequestImpl.getParameter(HttpServletRequestImpl.java:577)
org.jboss.weld.servlet.ConversationContextActivator.getConversationId(ConversationContextActivator.java:124)
org.jboss.weld.servlet.ConversationContextActivator.activateConversationContext(ConversationContextActivator.java:91)
org.jboss.weld.servlet.HttpContextLifecycle.requestInitialized(HttpContextLifecycle.java:183)
org.jboss.weld.servlet.WeldInitialListener.requestInitialized(WeldInitialListener.java:135)
io.undertow.servlet.core.ApplicationListeners.requestInitialized(ApplicationListeners.java:216)
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:217)
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:205)


Invoked before EncodingFilter may set the correct Filter according http://docs.oracle.com/cd/B32110_01/web.1013/b28959/filters.htm 

at.telekom.sms.web.
 a filter. EncodingFilter.doFilter(EncodingFilter.java:22)
io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:56)
io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:59)
io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:81)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113)
io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:65)
io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:70)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25)
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:218)

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
weld-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-issues

Reply via email to