https://issues.apache.org/bugzilla/show_bug.cgi?id=56640

--- Comment #3 from Konstantin Kolinko <knst.koli...@gmail.com> ---
For a reference,
some pointers for the current Tomcat 7.0.x code.

1) javax.servlet.ServletRequestWrapper.isAsyncSupported()
returns the value from the wrapped request object.

2) org.apache.catalina.connector.Request.isAsyncSupported()
returns the value of "this.asyncSupported" field.

The default value (null) is interpreted as "true".

3) The o.a.c.connector.Request#asyncSupported field can be set via two APIs:

[A): o.a.c.connector.Request.setAsyncSupported()

(B): via Request$SpecialAttributeAdapter for attribute name
Globals.ASYNC_SUPPORTED_ATTR ("org.apache.catalina.ASYNC_SUPPORTED").

The (A) API is used to propagate isAsyncSupported() value from Valves
(getPipeline().isAsyncSupported()).

The (B) API is used to propagate the value from Filter and Servlet definitions.
See o.a.c.core.ApplicationFilterChain#internalDoFilter(..)

The property update pattern is that if the current value is "true" and the next
Valve, Filter or Servlet does not support async processing, the value is
changed to "false".


The SpecialAttributeAdapter in (B) would better be more robust. It shall
support changing the value to Boolean.FALSE and reject any other value.

Other then that, I do not see any place for an error for the value of
"isAsyncSupported" request attribute.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to