Greg Wilkins
Greg Wilkins
The example below is a very typical race that exists in many applications between a timeout and asynchronous processing: ```java @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {...
The use of an async `ReadListener` allows the normal read methods to be used in async mode. However nowhere in the javadoc do we document how that behaviour is changed...
The error page mechanism defined in section 10.9.2 can be invoked either by an explicit call to sendError or by an exception being thrown from a dispatch to filter(s) and...
The API [`Part.write(String)`](https://jakarta.ee/specifications/servlet/4.0/apidocs/javax/servlet/http/Part.html#write-java.lang.String-) takes a system dependent string that can either be a path or a filename. This can make it difficult to write portable code. A possible solution is...
Consider two filters X & Y are defined in web.xml, but with no mappings Then in 3 fragments A, B and C that have: + A maps /* to X...
The `CONTRIBUTING.md` has the following: ``` Before your contribution can be accepted by the project team contributors must electronically sign the Eclipse Contributor Agreement (ECA). * http://www.eclipse.org/legal/ECA.php Commits that are...
The current javadoc for [`ServletOutputStream.setWriteListener`](https://jakarta.ee/specifications/servlet/4.0/apidocs/javax/servlet/ServletOutputStream.html#setWriteListener-javax.servlet.WriteListener-) is minimal and does not well define the async behaviour, specifically in regards to which methods are affected. The 4.0 servlet specification says: ``` boolean...
This PR builds on and replaces #11415. It retains the `HttpURI` changes, but reverts to using `URIUtil` methods for URI manipulations that need strings. The knowledge of default ports has...
Fix #11401 StringBuilder rather than StringBuffer Surprising we missed this one for so long. However, as it is a slight API change, we might have to delay until 12.1.0 ?
Fixes #11363 by ensuring that read never throws, but instead returns an Error chunk.