This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 6d54cdfffca3e63529e588926c3f10dd9ae6adb4 Author: Mark Thomas <[email protected]> AuthorDate: Thu Sep 11 12:21:33 2025 +0100 Use constant for TRACE --- java/org/apache/catalina/connector/Connector.java | 2 +- java/org/apache/catalina/connector/CoyoteAdapter.java | 4 ++-- java/org/apache/catalina/servlets/CGIServlet.java | 2 +- java/org/apache/coyote/ajp/Constants.java | 2 +- test/org/apache/catalina/connector/TestConnector.java | 2 +- test/org/apache/catalina/filters/TestCorsFilter.java | 2 +- test/org/apache/catalina/realm/TestRealmBase.java | 2 +- test/org/apache/catalina/realm/TesterServletSecurity01.java | 2 +- test/org/apache/catalina/servlets/TestDefaultServletOptions.java | 2 +- .../catalina/servlets/TestWebdavServletOptionCollection.java | 2 +- .../apache/catalina/servlets/TestWebdavServletOptionsFile.java | 2 +- .../apache/catalina/servlets/TestWebdavServletOptionsUnknown.java | 2 +- test/org/apache/coyote/ajp/SimpleAjpClient.java | 4 ++-- .../apache/tomcat/util/descriptor/web/TestSecurityConstraint.java | 8 ++++---- 14 files changed, 19 insertions(+), 19 deletions(-) diff --git a/java/org/apache/catalina/connector/Connector.java b/java/org/apache/catalina/connector/Connector.java index 64caa5409f..54f68fd81f 100644 --- a/java/org/apache/catalina/connector/Connector.java +++ b/java/org/apache/catalina/connector/Connector.java @@ -548,7 +548,7 @@ public class Connector extends LifecycleMBeanBase { methodSet.addAll(Arrays.asList(StringUtils.splitCommaSeparated(methods))); } - if (methodSet.contains("TRACE")) { + if (methodSet.contains(Method.TRACE)) { throw new IllegalArgumentException(sm.getString("coyoteConnector.parseBodyMethodNoTrace")); } diff --git a/java/org/apache/catalina/connector/CoyoteAdapter.java b/java/org/apache/catalina/connector/CoyoteAdapter.java index fac58a2f17..2b4b59864c 100644 --- a/java/org/apache/catalina/connector/CoyoteAdapter.java +++ b/java/org/apache/catalina/connector/CoyoteAdapter.java @@ -814,14 +814,14 @@ public class CoyoteAdapter implements Adapter { } // Filter TRACE method - if (!connector.getAllowTrace() && "TRACE".equals(req.getMethod())) { + if (!connector.getAllowTrace() && Method.TRACE.equals(req.getMethod())) { Wrapper wrapper = request.getWrapper(); StringBuilder header = null; if (wrapper != null) { String[] methods = wrapper.getServletMethods(); if (methods != null) { for (String method : methods) { - if ("TRACE".equals(method)) { + if (Method.TRACE.equals(method)) { continue; } if (header == null) { diff --git a/java/org/apache/catalina/servlets/CGIServlet.java b/java/org/apache/catalina/servlets/CGIServlet.java index a24306f26d..7c79e6ab44 100644 --- a/java/org/apache/catalina/servlets/CGIServlet.java +++ b/java/org/apache/catalina/servlets/CGIServlet.java @@ -216,7 +216,7 @@ public final class CGIServlet extends HttpServlet { static { DEFAULT_SUPER_METHODS.add(Method.HEAD); DEFAULT_SUPER_METHODS.add(Method.OPTIONS); - DEFAULT_SUPER_METHODS.add("TRACE"); + DEFAULT_SUPER_METHODS.add(Method.TRACE); if (JrePlatform.IS_WINDOWS) { DEFAULT_CMD_LINE_ARGUMENTS_DECODED_PATTERN = Pattern.compile("[\\w\\Q-.\\/:\\E]+"); diff --git a/java/org/apache/coyote/ajp/Constants.java b/java/org/apache/coyote/ajp/Constants.java index a33b752557..2514afb061 100644 --- a/java/org/apache/coyote/ajp/Constants.java +++ b/java/org/apache/coyote/ajp/Constants.java @@ -107,7 +107,7 @@ public final class Constants { // Translates integer codes to names of HTTP methods private static final String[] methodTransArray = - { Method.OPTIONS, Method.GET, Method.HEAD, Method.POST, Method.PUT, Method.OPTIONS, "TRACE", "PROPFIND", "PROPPATCH", "MKCOL", "COPY", + { Method.OPTIONS, Method.GET, Method.HEAD, Method.POST, Method.PUT, Method.OPTIONS, Method.TRACE, "PROPFIND", "PROPPATCH", "MKCOL", "COPY", "MOVE", "LOCK", "UNLOCK", "ACL", "REPORT", "VERSION-CONTROL", "CHECKIN", "CHECKOUT", "UNCHECKOUT", "SEARCH", "MKWORKSPACE", "UPDATE", "LABEL", "MERGE", "BASELINE-CONTROL", "MKACTIVITY" }; diff --git a/test/org/apache/catalina/connector/TestConnector.java b/test/org/apache/catalina/connector/TestConnector.java index 955f318f7c..eb1eb94cf0 100644 --- a/test/org/apache/catalina/connector/TestConnector.java +++ b/test/org/apache/catalina/connector/TestConnector.java @@ -203,7 +203,7 @@ public class TestConnector extends TomcatBaseTest { boolean foundTrace = false; for (String header : respHeaders.get("Allow")) { - if (header.contains("TRACE")) { + if (header.contains(Method.TRACE)) { foundTrace = true; break; } diff --git a/test/org/apache/catalina/filters/TestCorsFilter.java b/test/org/apache/catalina/filters/TestCorsFilter.java index 15517701e6..a3d09f62e9 100644 --- a/test/org/apache/catalina/filters/TestCorsFilter.java +++ b/test/org/apache/catalina/filters/TestCorsFilter.java @@ -860,7 +860,7 @@ public class TestCorsFilter { TesterHttpServletRequest request = new TesterHttpServletRequest(); TesterHttpServletResponse response = new TesterHttpServletResponse(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, TesterFilterConfigs.HTTP_TOMCAT_APACHE_ORG); - request.setHeader(CorsFilter.REQUEST_HEADER_ACCESS_CONTROL_REQUEST_METHOD, "TRACE"); + request.setHeader(CorsFilter.REQUEST_HEADER_ACCESS_CONTROL_REQUEST_METHOD, Method.TRACE); request.setMethod(Method.OPTIONS); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getDefaultFilterConfig()); diff --git a/test/org/apache/catalina/realm/TestRealmBase.java b/test/org/apache/catalina/realm/TestRealmBase.java index dfa12abf0e..7f971587ac 100644 --- a/test/org/apache/catalina/realm/TestRealmBase.java +++ b/test/org/apache/catalina/realm/TestRealmBase.java @@ -752,7 +752,7 @@ public class TestRealmBase { request, response, constraintsPut, null)); // Any authenticated user should be able to perform a TRACE. - request.setMethod("TRACE"); + request.setMethod(Method.TRACE); SecurityConstraint[] constraintsTrace = mapRealm.findSecurityConstraints(request, context); diff --git a/test/org/apache/catalina/realm/TesterServletSecurity01.java b/test/org/apache/catalina/realm/TesterServletSecurity01.java index 05ff45555c..2d721b061c 100644 --- a/test/org/apache/catalina/realm/TesterServletSecurity01.java +++ b/test/org/apache/catalina/realm/TesterServletSecurity01.java @@ -29,7 +29,7 @@ import org.apache.tomcat.util.http.Method; rolesAllowed=TestRealmBase.ROLE1), @HttpMethodConstraint(value=Method.PUT, rolesAllowed=SecurityConstraint.ROLE_ALL_ROLES), - @HttpMethodConstraint(value="TRACE", + @HttpMethodConstraint(value=Method.TRACE, rolesAllowed=SecurityConstraint.ROLE_ALL_AUTHENTICATED_USERS)}) public class TesterServletSecurity01 { // Class is NO-OP. It is only used to 'host' the annotation. diff --git a/test/org/apache/catalina/servlets/TestDefaultServletOptions.java b/test/org/apache/catalina/servlets/TestDefaultServletOptions.java index 7cf9aa9ce2..cbbf00f1e7 100644 --- a/test/org/apache/catalina/servlets/TestDefaultServletOptions.java +++ b/test/org/apache/catalina/servlets/TestDefaultServletOptions.java @@ -34,7 +34,7 @@ public class TestDefaultServletOptions extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { String[] urls = new String[] { COLLECTION_NAME, FILE_NAME, UNKNOWN_NAME }; - String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, "TRACE", Method.PUT, Method.DELETE }; + String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, Method.TRACE, Method.PUT, Method.DELETE }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java b/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java index b020ce6aea..eb14b039b7 100644 --- a/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java +++ b/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java @@ -37,7 +37,7 @@ public class TestWebdavServletOptionCollection extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { - String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, "TRACE", Method.PUT, Method.DELETE, + String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, Method.TRACE, Method.PUT, Method.DELETE, "MKCOL", "LOCK", "UNLOCK", "COPY", "MOVE", "PROPFIND", "PROPPATCH" }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java b/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java index 72b1fc9487..ddd002f6e9 100644 --- a/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java +++ b/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java @@ -37,7 +37,7 @@ public class TestWebdavServletOptionsFile extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { - String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, "TRACE", Method.PUT, Method.DELETE, + String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, Method.TRACE, Method.PUT, Method.DELETE, "MKCOL", "LOCK", "UNLOCK", "COPY", "MOVE", "PROPFIND", "PROPPATCH" }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java b/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java index 79b6d8756c..f7cc8eb182 100644 --- a/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java +++ b/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java @@ -37,7 +37,7 @@ public class TestWebdavServletOptionsUnknown extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { - String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, "TRACE", Method.PUT, Method.DELETE, + String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, Method.TRACE, Method.PUT, Method.DELETE, "MKCOL", "LOCK", "UNLOCK", "COPY", "MOVE", "PROPFIND", "PROPPATCH" }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/coyote/ajp/SimpleAjpClient.java b/test/org/apache/coyote/ajp/SimpleAjpClient.java index 599c1e4eb6..b4398f3269 100644 --- a/test/org/apache/coyote/ajp/SimpleAjpClient.java +++ b/test/org/apache/coyote/ajp/SimpleAjpClient.java @@ -94,7 +94,7 @@ public class SimpleAjpClient { case Method.DELETE: this.method = 6; break; - case "TRACE": + case Method.TRACE: this.method = 7; break; case "PROPFIND": @@ -177,7 +177,7 @@ public class SimpleAjpClient { case 6: return Method.DELETE; case 7: - return "TRACE"; + return Method.TRACE; case 8: return "PROPFIND"; case 9: diff --git a/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java b/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java index e409c15e8b..36f53e190d 100644 --- a/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java +++ b/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java @@ -212,10 +212,10 @@ public class TestSecurityConstraint { // Example 13-7 // @ServletSecurity(value = @HttpConstraint(rolesAllowed = "R1"), - // httpMethodConstraints = @HttpMethodConstraint(value="TRACE", + // httpMethodConstraints = @HttpMethodConstraint(value=Method.TRACE, // emptyRoleSemantic = EmptyRoleSemantic.DENY)) hmces.clear(); - hmces.add(new HttpMethodConstraintElement("TRACE", + hmces.add(new HttpMethodConstraintElement(Method.TRACE, new HttpConstraintElement(EmptyRoleSemantic.DENY))); element = new ServletSecurityElement( new HttpConstraintElement( @@ -228,12 +228,12 @@ public class TestSecurityConstraint { for (int i = 0; i < 2; i++) { Assert.assertTrue(result[i].findCollections()[0].findPattern(URL_PATTERN)); if (result[i].findCollections()[0].findMethods().length == 1) { - Assert.assertEquals("TRACE", + Assert.assertEquals(Method.TRACE, result[i].findCollections()[0].findMethods()[0]); Assert.assertTrue(result[i].getAuthConstraint()); Assert.assertEquals(0, result[i].findAuthRoles().length); } else if (result[i].findCollections()[0].findOmittedMethods().length == 1) { - Assert.assertEquals("TRACE", + Assert.assertEquals(Method.TRACE, result[i].findCollections()[0].findOmittedMethods()[0]); Assert.assertTrue(result[i].getAuthConstraint()); Assert.assertEquals(1, result[i].findAuthRoles().length); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
