request.setContext((Context) request.getMappingData().context);
request.setWrapper((Wrapper) request.getMappingData().wrapper);
- // Filter trace method
- if (!connector.getAllowTrace()
- && req.method().equalsIgnoreCase("TRACE")) {
- Wrapper wrapper = request.getWrapper();
- String header = null;
- if (wrapper != null) {
- String[] methods = wrapper.getServletMethods();
- if (methods != null) {
- for (int i=0; i<methods.length; i++) {
- if ("TRACE".equals(methods[i])) {
- continue;
- }
- if (header == null) {
- header = methods[i];
- } else {
- header += ", " + methods[i];
- }
- }
- }
- }
- res.setStatus(405);
- res.addHeader("Allow", header);
- res.setMessage("TRACE method is not allowed");
- request.getContext().logAccess(request, response, 0, true);
- return false;
- }
-
// If there is no context at this point, it is likely no ROOT context
// has been deployed
if (request.getContext() == null) {
}
}
+ // Look for session ID in cookies and SSL session
+ parseSessionCookiesId(req, request);
+ parseSessionSslId(request);
+
// Possible redirect
MessageBytes redirectPathMB = request.getMappingData().redirectPath;
if (!redirectPathMB.isNull()) {
return false;
}
- // Finally look for session ID in cookies and SSL session
- parseSessionCookiesId(req, request);
- parseSessionSslId(request);
+ // Filter trace method
+ if (!connector.getAllowTrace()
+ && req.method().equalsIgnoreCase("TRACE")) {
+ Wrapper wrapper = request.getWrapper();
+ String header = null;
+ if (wrapper != null) {
+ String[] methods = wrapper.getServletMethods();
+ if (methods != null) {
+ for (int i=0; i<methods.length; i++) {
+ if ("TRACE".equals(methods[i])) {
+ continue;
+ }
+ if (header == null) {
+ header = methods[i];
+ } else {
+ header += ", " + methods[i];
+ }
+ }
+ }
+ }
+ res.setStatus(405);
+ res.addHeader("Allow", header);
+ res.setMessage("TRACE method is not allowed");
+ request.getContext().logAccess(request, response, 0, true);
+ return false;
+ }
+
return true;
}