// Parse and set Catalina and configuration specific
// request parameters
req.getRequestProcessor().setWorkerThreadName(Thread.currentThread().getName());
- if (postParseRequest(req, request, res, response)) {
+ boolean postParseSuccess = postParseRequest(req, request, res, response);
+ if (postParseSuccess) {
//check valves if we support async
request.setAsyncSupported(connector.getService().getContainer().getPipeline().isAsyncSupported());
// Calling the container
async = true;
} else if (!comet) {
response.finishResponse();
- ((Context) request.getMappingData().context).logAccess(request,
- response,
- System.currentTimeMillis() - req.getStartTime(), false);
+ if (postParseSuccess) {
+ // Log only if processing was invoked.
+ // If postParseRequest() failed, it has already logged it.
+ ((Context) request.getMappingData().context).logAccess(
+ request, response,
+ System.currentTimeMillis() - req.getStartTime(),
+ false);
+ }
req.action(ActionCode.POST_REQUEST , null);
}
<!--
General, Catalina, Coyote, Jasper, Cluster, Web applications, Extras, Other
-->
+<section name="Tomcat 7.0.8 (markt)">
+ <subsection name="Catalina">
+ <changelog>
+ <fix>
+ Fix NPE in CoyoteAdapter when postParseRequest() call fails. (kkolinko)
+ </fix>
+ </changelog>
+ </subsection>
+</section>
<section name="Tomcat 7.0.7 (markt)">
<subsection name="Catalina">
<changelog>