Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-dev] Setting "asyncSupported" in ServletHolder.java

hi, in ServletHolder.java.handel() @ around line 744 there is:

 if (!isAsyncSupported())
               baseRequest.setAsyncSupported(false);

should this be just "baseRequest.setAsyncSupported(isAsyncSupported);” ?

otherwise it seems it's not possible to set aysncSupported to true for a servlet in ServeltHolder via xml,

e.g.  when deploying horde.org on jetty 9.2.0.v20140526 with:
<Configure id="hordeContext" class="org.eclipse.jetty.webapp.WebAppContext">
 <Set name="contextPath">/horde</Set>
 <Set name="resourceBase">/usr/local/share/horde</Set>
 <Call name="addServlet">
   <Arg>
     <New class="org.eclipse.jetty.servlet.ServletHolder">
       <Arg><New class="org.eclipse.jetty.servlets.CGI"/></Arg>
       <Set name="asyncSupported">true</Set>
     </New>
   </Arg>
   <Arg>*.php:/rpc.php/*:/services/ajax.php/*</Arg>
 </Call>
</Configure>

horde fails with:
java.lang.IllegalStateException: !asyncSupported
	at org.eclipse.jetty.server.Request.startAsync(Request.java:2063)
	at org.eclipse.jetty.servlets.CGI.exec(CGI.java:349)

after making the above “baseRequest.setAsyncSupported(isAsyncSupported);” change to “ServletHolder.java”,  horde.org runs without error.

if my analysis is correct, i’m happy to add a bug and provide a patch.

regards, greg johnson





Back to the top