This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 11.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit ddddfff9ccdcbb7b6fb24417ae77eab6b79a93b4 Author: Mark Thomas <ma...@apache.org> AuthorDate: Thu Sep 11 11:40:34 2025 +0100 Use constant for GET --- .../apache/catalina/ant/AbstractCatalinaTask.java | 3 +- .../catalina/authenticator/FormAuthenticator.java | 9 +++--- .../catalina/core/ApplicationDispatcher.java | 5 ++-- java/org/apache/catalina/filters/Constants.java | 4 ++- java/org/apache/catalina/filters/CorsFilter.java | 3 +- .../catalina/filters/CsrfPreventionFilter.java | 3 +- .../org/apache/catalina/filters/ExpiresFilter.java | 3 +- java/org/apache/catalina/servlets/CGIServlet.java | 5 ++-- .../apache/catalina/servlets/DefaultServlet.java | 7 +++-- java/org/apache/coyote/ajp/Constants.java | 4 ++- java/org/apache/coyote/http2/Hpack.java | 3 +- .../tomcat/websocket/server/UpgradeUtil.java | 3 +- .../TestAuthenticatorBaseCorsPreflight.java | 7 +++-- .../authenticator/TestFormAuthenticatorA.java | 21 +++++++------- .../authenticator/TestFormAuthenticatorB.java | 9 +++--- .../authenticator/TestFormAuthenticatorC.java | 11 ++++---- .../TesterDigestAuthenticatorPerformance.java | 6 ++-- .../org/apache/catalina/connector/TestRequest.java | 3 +- .../catalina/core/TestApplicationDispatcher.java | 3 +- .../apache/catalina/core/TestStandardWrapper.java | 3 +- .../apache/catalina/filters/TestCorsFilter.java | 33 +++++++++++----------- .../filters/TestRestCsrfPreventionFilter.java | 11 ++++---- .../filters/TestRestCsrfPreventionFilter2.java | 10 +++---- test/org/apache/catalina/realm/TestRealmBase.java | 3 +- .../servlets/TestDefaultServletOptions.java | 4 ++- .../servlets/TestDefaultServletRedirect.java | 3 +- .../TestWebdavServletOptionCollection.java | 4 ++- .../servlets/TestWebdavServletOptionsFile.java | 4 ++- .../servlets/TestWebdavServletOptionsUnknown.java | 4 ++- .../apache/catalina/startup/TomcatBaseTest.java | 5 ++-- .../apache/catalina/valves/TestAccessLogValve.java | 3 +- .../valves/TestExtendedAccessLogValve.java | 3 +- .../catalina/valves/rewrite/TestRewriteValve.java | 11 ++++---- test/org/apache/coyote/ajp/SimpleAjpClient.java | 6 ++-- .../coyote/ajp/TestAbstractAjpProcessor.java | 7 +++-- .../coyote/http11/TestHttp11InputBuffer.java | 3 +- test/org/apache/coyote/http2/Http2TestBase.java | 5 ++-- test/org/apache/coyote/http2/TestHttp2Limits.java | 3 +- .../apache/coyote/http2/TestHttp2Section_8_1.java | 25 ++++++++-------- .../coyote/http2/TestHttp2UpgradeHandler.java | 3 +- .../apache/coyote/http2/TestStreamProcessor.java | 15 +++++----- .../descriptor/web/TestSecurityConstraint.java | 27 +++++++++--------- 42 files changed, 176 insertions(+), 131 deletions(-) diff --git a/java/org/apache/catalina/ant/AbstractCatalinaTask.java b/java/org/apache/catalina/ant/AbstractCatalinaTask.java index 845aa3cf2e..5c5542aa86 100644 --- a/java/org/apache/catalina/ant/AbstractCatalinaTask.java +++ b/java/org/apache/catalina/ant/AbstractCatalinaTask.java @@ -28,6 +28,7 @@ import java.net.URISyntaxException; import java.net.URLConnection; import org.apache.catalina.util.IOTools; +import org.apache.tomcat.util.http.Method; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; @@ -198,7 +199,7 @@ public abstract class AbstractCatalinaTask extends BaseRedirectorHelperTask { } } else { hconn.setDoOutput(false); - hconn.setRequestMethod("GET"); + hconn.setRequestMethod(Method.GET); } hconn.setRequestProperty("User-Agent", "Catalina-Ant-Task/1.0"); diff --git a/java/org/apache/catalina/authenticator/FormAuthenticator.java b/java/org/apache/catalina/authenticator/FormAuthenticator.java index ca8aebf402..cde0afcdae 100644 --- a/java/org/apache/catalina/authenticator/FormAuthenticator.java +++ b/java/org/apache/catalina/authenticator/FormAuthenticator.java @@ -40,6 +40,7 @@ import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.buf.MessageBytes; import org.apache.tomcat.util.descriptor.web.LoginConfig; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.http.MimeHeaders; /** @@ -301,7 +302,7 @@ public class FormAuthenticator extends AuthenticatorBase { // the landing page String uri = request.getContextPath() + landingPage; SavedRequest saved = new SavedRequest(); - saved.setMethod("GET"); + saved.setMethod(Method.GET); saved.setRequestURI(uri); saved.setDecodedRequestURI(uri); request.getSessionInternal(true).setNote(Constants.FORM_REQUEST_NOTE, saved); @@ -326,7 +327,7 @@ public class FormAuthenticator extends AuthenticatorBase { // the landing page String uri = request.getContextPath() + landingPage; SavedRequest saved = new SavedRequest(); - saved.setMethod("GET"); + saved.setMethod(Method.GET); saved.setRequestURI(uri); saved.setDecodedRequestURI(uri); session.setNote(Constants.FORM_REQUEST_NOTE, saved); @@ -443,7 +444,7 @@ public class FormAuthenticator extends AuthenticatorBase { // Always use GET for the login page, regardless of the method used String oldMethod = request.getMethod(); - request.getCoyoteRequest().setMethod("GET"); + request.getCoyoteRequest().setMethod(Method.GET); RequestDispatcher disp = context.getServletContext().getRequestDispatcher(loginPage); try { @@ -585,7 +586,7 @@ public class FormAuthenticator extends AuthenticatorBase { String method = saved.getMethod(); MimeHeaders rmh = request.getCoyoteRequest().getMimeHeaders(); rmh.recycle(); - boolean cacheable = "GET".equals(method) || "HEAD".equals(method); + boolean cacheable = Method.GET.equals(method) || "HEAD".equals(method); Iterator<String> names = saved.getHeaderNames(); while (names.hasNext()) { String name = names.next(); diff --git a/java/org/apache/catalina/core/ApplicationDispatcher.java b/java/org/apache/catalina/core/ApplicationDispatcher.java index de21be7e2f..e1bb5c60b2 100644 --- a/java/org/apache/catalina/core/ApplicationDispatcher.java +++ b/java/org/apache/catalina/core/ApplicationDispatcher.java @@ -45,6 +45,7 @@ import org.apache.catalina.connector.ResponseFacade; import org.apache.coyote.BadRequestException; import org.apache.coyote.CloseNowException; import org.apache.tomcat.util.ExceptionUtils; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.res.StringManager; /** @@ -224,7 +225,7 @@ final class ApplicationDispatcher implements AsyncDispatcher, RequestDispatcher // All ERROR dispatches must be GET requests. Use the presence of ERROR_METHOD to determine if this is an // error dispatch as not all components (JSP) set the dispatcher type. if (request.getAttribute(ERROR_METHOD) != null) { - wrequest.setMethod("GET"); + wrequest.setMethod(Method.GET); } wrequest.setRequestURI(hrequest.getRequestURI()); wrequest.setContextPath(hrequest.getContextPath()); @@ -247,7 +248,7 @@ final class ApplicationDispatcher implements AsyncDispatcher, RequestDispatcher // All ERROR dispatches must be GET requests. Use the presence of ERROR_METHOD to determine if this is an // error dispatch as not all components (JSP) set the dispatcher type. if (request.getAttribute(ERROR_METHOD) != null) { - wrequest.setMethod("GET"); + wrequest.setMethod(Method.GET); } wrequest.setContextPath(context.getEncodedPath()); wrequest.setRequestURI(requestURI); diff --git a/java/org/apache/catalina/filters/Constants.java b/java/org/apache/catalina/filters/Constants.java index a0b8edb1a1..c893d8121c 100644 --- a/java/org/apache/catalina/filters/Constants.java +++ b/java/org/apache/catalina/filters/Constants.java @@ -16,6 +16,7 @@ */ package org.apache.catalina.filters; +import org.apache.tomcat.util.http.Method; /** * Manifest constants for this Java package. @@ -44,7 +45,8 @@ public final class Constants { */ public static final String CSRF_NONCE_REQUEST_PARAM_NAME_KEY = "org.apache.catalina.filters.CSRF_NONCE_PARAM_NAME"; - public static final String METHOD_GET = "GET"; + @Deprecated + public static final String METHOD_GET = Method.GET; public static final String CSRF_REST_NONCE_HEADER_NAME = "X-CSRF-Token"; diff --git a/java/org/apache/catalina/filters/CorsFilter.java b/java/org/apache/catalina/filters/CorsFilter.java index 1ca0fd829a..d3bd5a0c05 100644 --- a/java/org/apache/catalina/filters/CorsFilter.java +++ b/java/org/apache/catalina/filters/CorsFilter.java @@ -37,6 +37,7 @@ import jakarta.servlet.http.HttpServletResponse; import org.apache.catalina.Globals; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.http.RequestUtil; import org.apache.tomcat.util.http.ResponseUtil; import org.apache.tomcat.util.http.parser.MediaType; @@ -563,7 +564,7 @@ public class CorsFilter extends GenericFilter { return CORSRequestType.PRE_FLIGHT; } return CORSRequestType.ACTUAL; - case "GET": + case Method.GET: case "HEAD": return CORSRequestType.SIMPLE; case "POST": diff --git a/java/org/apache/catalina/filters/CsrfPreventionFilter.java b/java/org/apache/catalina/filters/CsrfPreventionFilter.java index da3f420a22..8f131439ee 100644 --- a/java/org/apache/catalina/filters/CsrfPreventionFilter.java +++ b/java/org/apache/catalina/filters/CsrfPreventionFilter.java @@ -42,6 +42,7 @@ import jakarta.servlet.http.HttpSession; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.http.Method; /** * Provides basic CSRF protection for a web application. The filter assumes that: @@ -444,7 +445,7 @@ public class CsrfPreventionFilter extends CsrfPreventionFilterBase { } protected boolean skipNonceCheck(HttpServletRequest request) { - if (!Constants.METHOD_GET.equals(request.getMethod())) { + if (!Method.GET.equals(request.getMethod())) { return false; } diff --git a/java/org/apache/catalina/filters/ExpiresFilter.java b/java/org/apache/catalina/filters/ExpiresFilter.java index 1377f5273a..67e86620e0 100644 --- a/java/org/apache/catalina/filters/ExpiresFilter.java +++ b/java/org/apache/catalina/filters/ExpiresFilter.java @@ -44,6 +44,7 @@ import jakarta.servlet.http.MappingMatch; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.buf.StringUtils; +import org.apache.tomcat.util.http.Method; /** * <p> @@ -1367,7 +1368,7 @@ public class ExpiresFilter extends FilterBase { // Don't add cache headers unless the request is a GET or a HEAD request String method = request.getMethod(); - if (!"GET".equals(method) && !"HEAD".equals(method)) { + if (!Method.GET.equals(method) && !"HEAD".equals(method)) { if (log.isDebugEnabled()) { log.debug(sm.getString("expiresFilter.invalidMethod", request.getRequestURI(), method)); } diff --git a/java/org/apache/catalina/servlets/CGIServlet.java b/java/org/apache/catalina/servlets/CGIServlet.java index 76bcd1b89e..cfc1099064 100644 --- a/java/org/apache/catalina/servlets/CGIServlet.java +++ b/java/org/apache/catalina/servlets/CGIServlet.java @@ -58,6 +58,7 @@ import org.apache.catalina.util.IOTools; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.compat.JrePlatform; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.res.StringManager; @@ -370,7 +371,7 @@ public final class CGIServlet extends HttpServlet { } } } else { - cgiMethods.add("GET"); + cgiMethods.add(Method.GET); cgiMethods.add("POST"); } @@ -733,7 +734,7 @@ public final class CGIServlet extends HttpServlet { // does not contain an unencoded "=" this is an indexed query. // The parsed query string becomes the command line parameters // for the cgi command. - if (enableCmdLineArguments && (req.getMethod().equals("GET") || req.getMethod().equals("POST") || + if (enableCmdLineArguments && (Method.GET.equals(req.getMethod()) || req.getMethod().equals("POST") || req.getMethod().equals("HEAD"))) { String qs; if (isIncluded) { diff --git a/java/org/apache/catalina/servlets/DefaultServlet.java b/java/org/apache/catalina/servlets/DefaultServlet.java index a3a98911c6..690602fb09 100644 --- a/java/org/apache/catalina/servlets/DefaultServlet.java +++ b/java/org/apache/catalina/servlets/DefaultServlet.java @@ -75,6 +75,7 @@ import org.apache.catalina.util.URLEncoder; import org.apache.catalina.webresources.CachedResource; import org.apache.tomcat.util.buf.B2CConverter; import org.apache.tomcat.util.http.FastHttpDateFormat; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.http.ResponseUtil; import org.apache.tomcat.util.http.parser.ContentRange; import org.apache.tomcat.util.http.parser.EntityTag; @@ -1565,7 +1566,7 @@ public class DefaultServlet extends HttpServlet { return FULL; } - if (!"GET".equals(request.getMethod()) || !isRangeRequestsSupported()) { + if (!Method.GET.equals(request.getMethod()) || !isRangeRequestsSupported()) { // RFC 9110 - Section 14.2: GET is the only method for which range handling is defined. // Otherwise MUST ignore a Range header field return FULL; @@ -2256,7 +2257,7 @@ public class DefaultServlet extends HttpServlet { WebResource resource) { String method = request.getMethod(); - if (!"GET".equals(method) && !"HEAD".equals(method)) { + if (!Method.GET.equals(method) && !"HEAD".equals(method)) { return true; } @@ -2364,7 +2365,7 @@ public class DefaultServlet extends HttpServlet { // 304 Not Modified. // For every other method, 412 Precondition Failed is sent // back. - if ("GET".equals(request.getMethod()) || "HEAD".equals(request.getMethod())) { + if (Method.GET.equals(request.getMethod()) || "HEAD".equals(request.getMethod())) { response.setStatus(HttpServletResponse.SC_NOT_MODIFIED); response.setHeader("ETag", resourceETag); } else { diff --git a/java/org/apache/coyote/ajp/Constants.java b/java/org/apache/coyote/ajp/Constants.java index 1fa5700a6e..0f4f38169e 100644 --- a/java/org/apache/coyote/ajp/Constants.java +++ b/java/org/apache/coyote/ajp/Constants.java @@ -19,6 +19,8 @@ package org.apache.coyote.ajp; import java.util.HashMap; import java.util.Map; +import org.apache.tomcat.util.http.Method; + /** * Constants. * @@ -105,7 +107,7 @@ public final class Constants { // Translates integer codes to names of HTTP methods private static final String[] methodTransArray = - { "OPTIONS", "GET", "HEAD", "POST", "PUT", "DELETE", "TRACE", "PROPFIND", "PROPPATCH", "MKCOL", "COPY", + { "OPTIONS", Method.GET, "HEAD", "POST", "PUT", "DELETE", "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/java/org/apache/coyote/http2/Hpack.java b/java/org/apache/coyote/http2/Hpack.java index 4820c68cda..4df672112d 100644 --- a/java/org/apache/coyote/http2/Hpack.java +++ b/java/org/apache/coyote/http2/Hpack.java @@ -18,6 +18,7 @@ package org.apache.coyote.http2; import java.nio.ByteBuffer; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.res.StringManager; final class Hpack { @@ -60,7 +61,7 @@ final class Hpack { HeaderField[] fields = new HeaderField[62]; // note that zero is not used fields[1] = new HeaderField(":authority", null); - fields[2] = new HeaderField(":method", "GET"); + fields[2] = new HeaderField(":method", Method.GET); fields[3] = new HeaderField(":method", "POST"); fields[4] = new HeaderField(":path", "/"); fields[5] = new HeaderField(":path", "/index.html"); diff --git a/java/org/apache/tomcat/websocket/server/UpgradeUtil.java b/java/org/apache/tomcat/websocket/server/UpgradeUtil.java index 44b3670ce6..e35a234d4a 100644 --- a/java/org/apache/tomcat/websocket/server/UpgradeUtil.java +++ b/java/org/apache/tomcat/websocket/server/UpgradeUtil.java @@ -38,6 +38,7 @@ import jakarta.websocket.Extension; import jakarta.websocket.HandshakeResponse; import jakarta.websocket.server.ServerEndpointConfig; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.res.StringManager; import org.apache.tomcat.util.security.ConcurrentMessageDigest; import org.apache.tomcat.websocket.Constants; @@ -74,7 +75,7 @@ public class UpgradeUtil { return ((request instanceof HttpServletRequest) && (response instanceof HttpServletResponse) && headerContainsToken((HttpServletRequest) request, Constants.UPGRADE_HEADER_NAME, Constants.UPGRADE_HEADER_VALUE) && - "GET".equals(((HttpServletRequest) request).getMethod())); + Method.GET.equals(((HttpServletRequest) request).getMethod())); } diff --git a/test/org/apache/catalina/authenticator/TestAuthenticatorBaseCorsPreflight.java b/test/org/apache/catalina/authenticator/TestAuthenticatorBaseCorsPreflight.java index 332636914c..27786efab9 100644 --- a/test/org/apache/catalina/authenticator/TestAuthenticatorBaseCorsPreflight.java +++ b/test/org/apache/catalina/authenticator/TestAuthenticatorBaseCorsPreflight.java @@ -45,6 +45,7 @@ import org.apache.tomcat.util.descriptor.web.FilterMap; import org.apache.tomcat.util.descriptor.web.LoginConfig; import org.apache.tomcat.util.descriptor.web.SecurityCollection; import org.apache.tomcat.util.descriptor.web.SecurityConstraint; +import org.apache.tomcat.util.http.Method; @RunWith(Parameterized.class) public class TestAuthenticatorBaseCorsPreflight extends TomcatBaseTest { @@ -53,7 +54,7 @@ public class TestAuthenticatorBaseCorsPreflight extends TomcatBaseTest { private static final String EMPTY_ORIGIN = ""; private static final String INVALID_ORIGIN = "http://%20"; private static final String SAME_ORIGIN = "http://localhost"; - private static final String ALLOWED_METHOD = "GET"; + private static final String ALLOWED_METHOD = Method.GET; private static final String BLOCKED_METHOD = "POST"; private static final String EMPTY_METHOD = ""; @@ -71,8 +72,8 @@ public class TestAuthenticatorBaseCorsPreflight extends TomcatBaseTest { Boolean.FALSE }); parameterSets.add(new Object[] { AllowCorsPreflight.ALWAYS, "/*", "OPTIONS", SAME_ORIGIN, ALLOWED_METHOD, Boolean.FALSE }); - parameterSets.add( - new Object[] { AllowCorsPreflight.ALWAYS, "/*", "GET", ALLOWED_ORIGIN, ALLOWED_METHOD, Boolean.FALSE }); + parameterSets.add(new Object[] { AllowCorsPreflight.ALWAYS, "/*", Method.GET, ALLOWED_ORIGIN, ALLOWED_METHOD, + Boolean.FALSE }); parameterSets.add(new Object[] { AllowCorsPreflight.ALWAYS, "/*", "OPTIONS", ALLOWED_ORIGIN, BLOCKED_METHOD, Boolean.FALSE }); parameterSets.add(new Object[] { AllowCorsPreflight.ALWAYS, "/*", "OPTIONS", ALLOWED_ORIGIN, EMPTY_METHOD, diff --git a/test/org/apache/catalina/authenticator/TestFormAuthenticatorA.java b/test/org/apache/catalina/authenticator/TestFormAuthenticatorA.java index 4113364000..2acb384255 100644 --- a/test/org/apache/catalina/authenticator/TestFormAuthenticatorA.java +++ b/test/org/apache/catalina/authenticator/TestFormAuthenticatorA.java @@ -44,6 +44,7 @@ import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.descriptor.web.LoginConfig; import org.apache.tomcat.util.descriptor.web.SecurityCollection; import org.apache.tomcat.util.descriptor.web.SecurityConstraint; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.websocket.server.WsContextListener; /* @@ -108,7 +109,7 @@ public class TestFormAuthenticatorA extends TomcatBaseTest { @Test public void testGetWithCookies() throws Exception { - doTest("GET", "GET", NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); + doTest(Method.GET, Method.GET, NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); } @@ -118,7 +119,7 @@ public class TestFormAuthenticatorA extends TomcatBaseTest { // Bug 53584 @Test public void testGetNoServerCookies() throws Exception { - doTest("GET", "GET", NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_NO_COOKIES, SERVER_CHANGE_SESSID); + doTest(Method.GET, Method.GET, NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_NO_COOKIES, SERVER_CHANGE_SESSID); } @@ -128,7 +129,7 @@ public class TestFormAuthenticatorA extends TomcatBaseTest { @Test public void testGetNoClientCookies() throws Exception { - doTest("GET", "GET", NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); + doTest(Method.GET, Method.GET, NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); } @@ -137,18 +138,18 @@ public class TestFormAuthenticatorA extends TomcatBaseTest { @Test public void testNoChangedSessidWithCookies() throws Exception { - doTest("GET", "GET", NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_FREEZE_SESSID); + doTest(Method.GET, Method.GET, NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_FREEZE_SESSID); } @Test public void testNoChangedSessidWithoutCookies() throws Exception { - doTest("GET", "GET", NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_FREEZE_SESSID); + doTest(Method.GET, Method.GET, NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_FREEZE_SESSID); } @Test public void testTimeoutWithoutCookies() throws Exception { String protectedUri = - doTest("GET", "GET", NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_FREEZE_SESSID); + doTest(Method.GET, Method.GET, NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_FREEZE_SESSID); // Force session to expire one second from now Context context = (Context) getTomcatInstance().getHost().findChildren()[0]; @@ -160,13 +161,13 @@ public class TestFormAuthenticatorA extends TomcatBaseTest { // then try to continue using the expired session to get the // protected resource once more. // should get login challenge or timeout status 408 - doTestProtected("GET", protectedUri, NO_100_CONTINUE, FormAuthClient.LOGIN_REQUIRED, 1); + doTestProtected(Method.GET, protectedUri, NO_100_CONTINUE, FormAuthClient.LOGIN_REQUIRED, 1); } // HTTP 1.0 test @Test public void testGetWithCookiesHttp10() throws Exception { - doTest("GET", "GET", NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID, + doTest(Method.GET, Method.GET, NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID, CLIENT_USE_HTTP_10); } @@ -193,7 +194,7 @@ public class TestFormAuthenticatorA extends TomcatBaseTest { // Third request - the login was successful so // follow the redirect to the protected resource - client.doResourceRequest("GET", true, redirectUri, null); + client.doResourceRequest(Method.GET, true, redirectUri, null); Assert.assertTrue(client.isResponse200()); Assert.assertTrue(client.isResponseBodyOK()); String newSessionId = client.getSessionId(); @@ -400,7 +401,7 @@ public class TestFormAuthenticatorA extends TomcatBaseTest { } else { requestHead.append(PROTECTED_RELATIVE_PATH).append(resourceUri); } - if ("GET".equals(method)) { + if (Method.GET.equals(method)) { requestHead.append("?role=bar"); } } diff --git a/test/org/apache/catalina/authenticator/TestFormAuthenticatorB.java b/test/org/apache/catalina/authenticator/TestFormAuthenticatorB.java index 464d934ea6..56b3c1a0a2 100644 --- a/test/org/apache/catalina/authenticator/TestFormAuthenticatorB.java +++ b/test/org/apache/catalina/authenticator/TestFormAuthenticatorB.java @@ -29,6 +29,7 @@ import org.apache.catalina.startup.SimpleHttpClient; import org.apache.catalina.startup.TesterMapRealm; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.websocket.server.WsContextListener; /* @@ -89,7 +90,7 @@ public class TestFormAuthenticatorB extends TomcatBaseTest { @Test public void testPostNoContinueWithCookies() throws Exception { - doTest("POST", "GET", NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); + doTest("POST", Method.GET, NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); } // Bug 49779 @@ -104,7 +105,7 @@ public class TestFormAuthenticatorB extends TomcatBaseTest { @Test public void testPostNoContinueNoServerCookies() throws Exception { - doTest("POST", "GET", NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_NO_COOKIES, SERVER_CHANGE_SESSID); + doTest("POST", Method.GET, NO_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_NO_COOKIES, SERVER_CHANGE_SESSID); } // variant of Bug 49779 @@ -120,7 +121,7 @@ public class TestFormAuthenticatorB extends TomcatBaseTest { @Test public void testPostNoContinueNoClientCookies() throws Exception { - doTest("POST", "GET", NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); + doTest("POST", Method.GET, NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); } // variant of Bug 49779 @@ -298,7 +299,7 @@ public class TestFormAuthenticatorB extends TomcatBaseTest { } else { requestHead.append(PROTECTED_RELATIVE_PATH).append(resourceUri); } - if ("GET".equals(method)) { + if (Method.GET.equals(method)) { requestHead.append("?role=bar"); } } diff --git a/test/org/apache/catalina/authenticator/TestFormAuthenticatorC.java b/test/org/apache/catalina/authenticator/TestFormAuthenticatorC.java index 9d8d5549bd..88105b3dca 100644 --- a/test/org/apache/catalina/authenticator/TestFormAuthenticatorC.java +++ b/test/org/apache/catalina/authenticator/TestFormAuthenticatorC.java @@ -29,6 +29,7 @@ import org.apache.catalina.startup.SimpleHttpClient; import org.apache.catalina.startup.TesterMapRealm; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.websocket.server.WsContextListener; /* @@ -89,7 +90,7 @@ public class TestFormAuthenticatorC extends TomcatBaseTest { @Test public void testPostWithContinueAndCookies() throws Exception { - doTest("POST", "GET", USE_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); + doTest("POST", Method.GET, USE_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); } // Bug 49779 @@ -104,7 +105,7 @@ public class TestFormAuthenticatorC extends TomcatBaseTest { @Test public void testPostWithContinueNoServerCookies() throws Exception { - doTest("POST", "GET", USE_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_NO_COOKIES, SERVER_CHANGE_SESSID); + doTest("POST", Method.GET, USE_100_CONTINUE, CLIENT_USE_COOKIES, SERVER_NO_COOKIES, SERVER_CHANGE_SESSID); } // variant of Bug 49779 @@ -120,12 +121,12 @@ public class TestFormAuthenticatorC extends TomcatBaseTest { @Test public void testGetNoClientCookies() throws Exception { - doTest("GET", "GET", NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); + doTest(Method.GET, Method.GET, NO_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); } @Test public void testPostWithContinueNoClientCookies() throws Exception { - doTest("POST", "GET", USE_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); + doTest("POST", Method.GET, USE_100_CONTINUE, CLIENT_NO_COOKIES, SERVER_USE_COOKIES, SERVER_CHANGE_SESSID); } // variant of Bug 49779 @@ -303,7 +304,7 @@ public class TestFormAuthenticatorC extends TomcatBaseTest { } else { requestHead.append(PROTECTED_RELATIVE_PATH).append(resourceUri); } - if ("GET".equals(method)) { + if (Method.GET.equals(method)) { requestHead.append("?role=bar"); } } diff --git a/test/org/apache/catalina/authenticator/TesterDigestAuthenticatorPerformance.java b/test/org/apache/catalina/authenticator/TesterDigestAuthenticatorPerformance.java index 189f640be6..ef599a10bb 100644 --- a/test/org/apache/catalina/authenticator/TesterDigestAuthenticatorPerformance.java +++ b/test/org/apache/catalina/authenticator/TesterDigestAuthenticatorPerformance.java @@ -39,6 +39,7 @@ import org.apache.catalina.filters.TesterHttpServletResponse; import org.apache.catalina.startup.TesterMapRealm; import org.apache.tomcat.util.buf.HexUtils; import org.apache.tomcat.util.descriptor.web.LoginConfig; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.security.ConcurrentMessageDigest; /* @@ -50,7 +51,6 @@ public class TesterDigestAuthenticatorPerformance { private static String USER = "user"; private static String PWD = "pwd"; private static String ROLE = "role"; - private static String METHOD = "GET"; private static String URI = "/protected"; private static String CONTEXT_PATH = "/foo"; private static String CLIENT_AUTH_HEADER = "authorization"; @@ -158,7 +158,7 @@ public class TesterDigestAuthenticatorPerformance { private DigestAuthenticator authenticator; private static final String A1 = USER + ":" + REALM + ":" + PWD; - private static final String A2 = METHOD + ":" + CONTEXT_PATH + URI; + private static final String A2 = Method.GET + ":" + CONTEXT_PATH + URI; private static final String DIGEST_A1 = HexUtils.toHexString(ConcurrentMessageDigest.digest("MD5", A1.getBytes(StandardCharsets.UTF_8))); @@ -269,7 +269,7 @@ public class TesterDigestAuthenticatorPerformance { @Override public String getMethod() { - return METHOD; + return Method.GET; } @Override diff --git a/test/org/apache/catalina/connector/TestRequest.java b/test/org/apache/catalina/connector/TestRequest.java index 109239c0b1..a249b36f5b 100644 --- a/test/org/apache/catalina/connector/TestRequest.java +++ b/test/org/apache/catalina/connector/TestRequest.java @@ -57,6 +57,7 @@ import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.buf.EncodedSolidusHandling; import org.apache.tomcat.util.buf.StringUtils; import org.apache.tomcat.util.descriptor.web.LoginConfig; +import org.apache.tomcat.util.http.Method; /** * Test case for {@link Request}. @@ -366,7 +367,7 @@ public class TestRequest extends TomcatBaseTest { Bug48692Client client = new Bug48692Client(); // Make sure GET works properly - client.doRequest("GET", "foo=bar", null, null, false); + client.doRequest(Method.GET, "foo=bar", null, null, false); Assert.assertTrue("Non-200 response for GET request", client.isResponse200()); Assert.assertEquals("Incorrect response for GET request", "foo=bar", client.getResponseBody()); diff --git a/test/org/apache/catalina/core/TestApplicationDispatcher.java b/test/org/apache/catalina/core/TestApplicationDispatcher.java index 91602090c9..71d198a3d9 100644 --- a/test/org/apache/catalina/core/TestApplicationDispatcher.java +++ b/test/org/apache/catalina/core/TestApplicationDispatcher.java @@ -34,6 +34,7 @@ import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.descriptor.web.ErrorPage; +import org.apache.tomcat.util.http.Method; public class TestApplicationDispatcher extends TomcatBaseTest { @@ -122,7 +123,7 @@ public class TestApplicationDispatcher extends TomcatBaseTest { resp.setCharacterEncoding(StandardCharsets.UTF_8); PrintWriter pw = resp.getWriter(); - if ("POST".equals(req.getAttribute(RequestDispatcher.ERROR_METHOD)) && "GET".equals(req.getMethod())) { + if ("POST".equals(req.getAttribute(RequestDispatcher.ERROR_METHOD)) && Method.GET.equals(req.getMethod())) { pw.print("OK"); } else { pw.print("FAIL"); diff --git a/test/org/apache/catalina/core/TestStandardWrapper.java b/test/org/apache/catalina/core/TestStandardWrapper.java index b65dddeef0..8b157e4997 100644 --- a/test/org/apache/catalina/core/TestStandardWrapper.java +++ b/test/org/apache/catalina/core/TestStandardWrapper.java @@ -50,6 +50,7 @@ import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.descriptor.web.LoginConfig; +import org.apache.tomcat.util.http.Method; public class TestStandardWrapper extends TomcatBaseTest { @@ -415,7 +416,7 @@ public class TestStandardWrapper extends TomcatBaseTest { } @ServletSecurity(value = @HttpConstraint(EmptyRoleSemantic.PERMIT), httpMethodConstraints = { - @HttpMethodConstraint(value = "GET", emptyRoleSemantic = EmptyRoleSemantic.DENY) }) + @HttpMethodConstraint(value = Method.GET, emptyRoleSemantic = EmptyRoleSemantic.DENY) }) public static class MethodConstraintServlet extends TestServlet { private static final long serialVersionUID = 1L; } diff --git a/test/org/apache/catalina/filters/TestCorsFilter.java b/test/org/apache/catalina/filters/TestCorsFilter.java index f05af1beaf..f42900678d 100644 --- a/test/org/apache/catalina/filters/TestCorsFilter.java +++ b/test/org/apache/catalina/filters/TestCorsFilter.java @@ -32,6 +32,7 @@ import jakarta.servlet.http.HttpServletResponse; import org.junit.Assert; import org.junit.Test; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.http.RequestUtil; public class TestCorsFilter { @@ -50,7 +51,7 @@ public class TestCorsFilter { public void testDoFilterSimpleGET() throws IOException, ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, TesterFilterConfigs.HTTPS_WWW_APACHE_ORG); - request.setMethod("GET"); + request.setMethod(Method.GET); TesterHttpServletResponse response = new TesterHttpServletResponse(); CorsFilter corsFilter = new CorsFilter(); @@ -177,7 +178,7 @@ public class TestCorsFilter { public void testDoFilterSimpleAnyOriginAndSupportsCredentialsDisabled() throws IOException, ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, TesterFilterConfigs.HTTPS_WWW_APACHE_ORG); - request.setMethod("GET"); + request.setMethod(Method.GET); TesterHttpServletResponse response = new TesterHttpServletResponse(); CorsFilter corsFilter = new CorsFilter(); @@ -571,7 +572,7 @@ public class TestCorsFilter { public void testInitDefaultFilterConfig() throws IOException, ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, TesterFilterConfigs.HTTPS_WWW_APACHE_ORG); - request.setMethod("GET"); + request.setMethod(Method.GET); TesterHttpServletResponse response = new TesterHttpServletResponse(); CorsFilter corsFilter = new CorsFilter(); @@ -647,7 +648,7 @@ public class TestCorsFilter { public void testNotPreflight() throws IOException, ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, TesterFilterConfigs.HTTPS_WWW_APACHE_ORG); - request.setMethod("GET"); + request.setMethod(Method.GET); TesterHttpServletResponse response = new TesterHttpServletResponse(); CorsFilter corsFilter = new CorsFilter(); @@ -690,7 +691,7 @@ public class TestCorsFilter { public void testCheckSimpleRequestTypeAnyOrigin() throws ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, "http://www.w3.org"); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getDefaultFilterConfig()); CorsFilter.CORSRequestType requestType = corsFilter.checkRequestType(request); @@ -706,7 +707,7 @@ public class TestCorsFilter { public void testCheckSimpleRequestTypeGet() throws ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, TesterFilterConfigs.HTTP_TOMCAT_APACHE_ORG); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getDefaultFilterConfig()); CorsFilter.CORSRequestType requestType = corsFilter.checkRequestType(request); @@ -950,7 +951,7 @@ public class TestCorsFilter { public void testCheckNotCORSRequestTypeEmptyOrigin() throws ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, ""); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getDefaultFilterConfig()); CorsFilter.CORSRequestType requestType = corsFilter.checkRequestType(request); @@ -969,7 +970,7 @@ public class TestCorsFilter { TesterHttpServletRequest request = new TesterHttpServletRequest(); TesterHttpServletResponse response = new TesterHttpServletResponse(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, "www.example.com"); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getSpecificOriginFilterConfig()); corsFilter.doFilter(request, response, filterChain); @@ -984,7 +985,7 @@ public class TestCorsFilter { TesterHttpServletRequest request = new TesterHttpServletRequest(); TesterHttpServletResponse response = new TesterHttpServletResponse(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, "null"); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getSpecificOriginFilterConfig()); corsFilter.doFilter(request, response, filterChain); @@ -1003,7 +1004,7 @@ public class TestCorsFilter { TesterHttpServletRequest request = new TesterHttpServletRequest(); TesterHttpServletResponse response = new TesterHttpServletResponse(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, "http://commons.apache.org"); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getSpecificOriginFilterConfig()); corsFilter.doFilter(request, response, filterChain); @@ -1076,7 +1077,7 @@ public class TestCorsFilter { TesterHttpServletRequest request = new TesterHttpServletRequest(); TesterHttpServletResponse response = new TesterHttpServletResponse(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, "http://tomcat.apache.org:8080"); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getSpecificOriginFilterConfig()); corsFilter.doFilter(request, response, filterChain); @@ -1249,7 +1250,7 @@ public class TestCorsFilter { public void testCheckInvalidCRLF1() throws ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, "http://www.w3.org\r\n"); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getDefaultFilterConfig()); CorsFilter.CORSRequestType requestType = corsFilter.checkRequestType(request); @@ -1260,7 +1261,7 @@ public class TestCorsFilter { public void testCheckInvalidCRLF2() throws ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, "http://www.w3.org\r\n"); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getDefaultFilterConfig()); CorsFilter.CORSRequestType requestType = corsFilter.checkRequestType(request); @@ -1271,7 +1272,7 @@ public class TestCorsFilter { public void testCheckInvalidCRLF3() throws ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, "http://www.w3.org%0d%0a"); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getDefaultFilterConfig()); CorsFilter.CORSRequestType requestType = corsFilter.checkRequestType(request); @@ -1282,7 +1283,7 @@ public class TestCorsFilter { public void testCheckInvalidCRLF4() throws ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, "http://www.w3.org%0D%0A"); - request.setMethod("GET"); + request.setMethod(Method.GET); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getDefaultFilterConfig()); CorsFilter.CORSRequestType requestType = corsFilter.checkRequestType(request); @@ -1293,7 +1294,7 @@ public class TestCorsFilter { public void testDecorateRequestDisabled() throws IOException, ServletException { TesterHttpServletRequest request = new TesterHttpServletRequest(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, TesterFilterConfigs.HTTPS_WWW_APACHE_ORG); - request.setMethod("GET"); + request.setMethod(Method.GET); TesterHttpServletResponse response = new TesterHttpServletResponse(); CorsFilter corsFilter = new CorsFilter(); diff --git a/test/org/apache/catalina/filters/TestRestCsrfPreventionFilter.java b/test/org/apache/catalina/filters/TestRestCsrfPreventionFilter.java index 9ee91c695a..ba1893b456 100644 --- a/test/org/apache/catalina/filters/TestRestCsrfPreventionFilter.java +++ b/test/org/apache/catalina/filters/TestRestCsrfPreventionFilter.java @@ -30,6 +30,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.apache.tomcat.util.http.Method; import org.easymock.EasyMock; public class TestRestCsrfPreventionFilter { @@ -38,8 +39,6 @@ public class TestRestCsrfPreventionFilter { private static final String INVALID_NONCE = "invalid-nonce"; - private static final String GET_METHOD = "GET"; - private static final String POST_METHOD = "POST"; public static final String ACCEPTED_PATH1 = "/accepted/index1.jsp"; @@ -74,7 +73,7 @@ public class TestRestCsrfPreventionFilter { @Test public void testGetRequestNoSessionNoNonce() throws Exception { - setRequestExpectations(GET_METHOD, null, null); + setRequestExpectations(Method.GET, null, null); filter.doFilter(request, response, filterChain); verifyContinueChain(); } @@ -112,7 +111,7 @@ public class TestRestCsrfPreventionFilter { @Test public void testGetFetchRequestSessionNoNonce() throws Exception { - setRequestExpectations(GET_METHOD, session, Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE); + setRequestExpectations(Method.GET, session, Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE); EasyMock.expect(session.getAttribute(Constants.CSRF_REST_NONCE_SESSION_ATTR_NAME)).andReturn(null); session.setAttribute(Constants.CSRF_REST_NONCE_SESSION_ATTR_NAME, NONCE); EasyMock.expectLastCall(); @@ -130,7 +129,7 @@ public class TestRestCsrfPreventionFilter { @Test public void testGetFetchRequestSessionNonce() throws Exception { - setRequestExpectations(GET_METHOD, session, Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE); + setRequestExpectations(Method.GET, session, Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE); EasyMock.expect(session.getAttribute(Constants.CSRF_REST_NONCE_SESSION_ATTR_NAME)).andReturn(NONCE); EasyMock.replay(session); filter.doFilter(request, response, filterChain); @@ -221,7 +220,7 @@ public class TestRestCsrfPreventionFilter { @Test public void testGETRequestFetchNonceAsParameter() throws Exception { - setRequestExpectations(GET_METHOD, null, null, new String[] { Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE }, + setRequestExpectations(Method.GET, null, null, new String[] { Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE }, ACCEPTED_PATH1); filter.setPathsAcceptingParams(ACCEPTED_PATHS); filter.doFilter(request, response, filterChain); diff --git a/test/org/apache/catalina/filters/TestRestCsrfPreventionFilter2.java b/test/org/apache/catalina/filters/TestRestCsrfPreventionFilter2.java index d1c2ca1fa2..5d7b16ca4c 100644 --- a/test/org/apache/catalina/filters/TestRestCsrfPreventionFilter2.java +++ b/test/org/apache/catalina/filters/TestRestCsrfPreventionFilter2.java @@ -45,12 +45,12 @@ import org.apache.tomcat.util.descriptor.web.FilterMap; import org.apache.tomcat.util.descriptor.web.LoginConfig; import org.apache.tomcat.util.descriptor.web.SecurityCollection; import org.apache.tomcat.util.descriptor.web.SecurityConstraint; +import org.apache.tomcat.util.http.Method; public class TestRestCsrfPreventionFilter2 extends TomcatBaseTest { private static final boolean USE_COOKIES = true; private static final boolean NO_COOKIES = !USE_COOKIES; - private static final String METHOD_GET = "GET"; private static final String METHOD_POST = "POST"; private static final String HTTP_PREFIX = "http://localhost:"; @@ -121,7 +121,7 @@ public class TestRestCsrfPreventionFilter2 extends TomcatBaseTest { } private void testClearGet() throws Exception { - doTest(METHOD_GET, LIST_CUSTOMERS, CREDENTIALS, null, NO_COOKIES, HttpServletResponse.SC_OK, + doTest(Method.GET, LIST_CUSTOMERS, CREDENTIALS, null, NO_COOKIES, HttpServletResponse.SC_OK, CUSTOMERS_LIST_RESPONSE, null, false, null); } @@ -131,7 +131,7 @@ public class TestRestCsrfPreventionFilter2 extends TomcatBaseTest { } private void testGetFirstFetch() throws Exception { - doTest(METHOD_GET, LIST_CUSTOMERS, CREDENTIALS, null, NO_COOKIES, HttpServletResponse.SC_OK, + doTest(Method.GET, LIST_CUSTOMERS, CREDENTIALS, null, NO_COOKIES, HttpServletResponse.SC_OK, CUSTOMERS_LIST_RESPONSE, Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE, true, null); } @@ -152,7 +152,7 @@ public class TestRestCsrfPreventionFilter2 extends TomcatBaseTest { } private void testGetSecondFetch() throws Exception { - doTest(METHOD_GET, LIST_CUSTOMERS, CREDENTIALS, null, USE_COOKIES, HttpServletResponse.SC_OK, + doTest(Method.GET, LIST_CUSTOMERS, CREDENTIALS, null, USE_COOKIES, HttpServletResponse.SC_OK, CUSTOMERS_LIST_RESPONSE, Constants.CSRF_REST_NONCE_HEADER_FETCH_VALUE, true, validNonce); } @@ -199,7 +199,7 @@ public class TestRestCsrfPreventionFilter2 extends TomcatBaseTest { ByteChunk bc = new ByteChunk(); int rc; - if (METHOD_GET.equals(method)) { + if (Method.GET.equals(method)) { rc = getUrl(HTTP_PREFIX + getPort() + uri, bc, reqHeaders, respHeaders); } else { rc = postUrl(body, HTTP_PREFIX + getPort() + uri, bc, reqHeaders, respHeaders); diff --git a/test/org/apache/catalina/realm/TestRealmBase.java b/test/org/apache/catalina/realm/TestRealmBase.java index ec2df090ad..ce9035a1d5 100644 --- a/test/org/apache/catalina/realm/TestRealmBase.java +++ b/test/org/apache/catalina/realm/TestRealmBase.java @@ -36,6 +36,7 @@ import org.apache.tomcat.unittest.TesterRequest; import org.apache.tomcat.unittest.TesterResponse; import org.apache.tomcat.util.descriptor.web.SecurityCollection; import org.apache.tomcat.util.descriptor.web.SecurityConstraint; +import org.apache.tomcat.util.http.Method; public class TestRealmBase { @@ -692,7 +693,7 @@ public class TestRealmBase { context.addConstraint(deleteConstraint); // All users should be able to perform a GET - request.setMethod("GET"); + request.setMethod(Method.GET); SecurityConstraint[] constraintsGet = mapRealm.findSecurityConstraints(request, context); diff --git a/test/org/apache/catalina/servlets/TestDefaultServletOptions.java b/test/org/apache/catalina/servlets/TestDefaultServletOptions.java index b5fe61aaa9..bfefde3bbb 100644 --- a/test/org/apache/catalina/servlets/TestDefaultServletOptions.java +++ b/test/org/apache/catalina/servlets/TestDefaultServletOptions.java @@ -26,13 +26,15 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import org.apache.tomcat.util.http.Method; + @RunWith(Parameterized.class) 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[] { "GET", "POST", "HEAD", "TRACE", "PUT", "DELETE" }; + String[] methods = new String[] { Method.GET, "POST", "HEAD", "TRACE", "PUT", "DELETE" }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/catalina/servlets/TestDefaultServletRedirect.java b/test/org/apache/catalina/servlets/TestDefaultServletRedirect.java index fd42b0f574..92ec5bf686 100644 --- a/test/org/apache/catalina/servlets/TestDefaultServletRedirect.java +++ b/test/org/apache/catalina/servlets/TestDefaultServletRedirect.java @@ -41,6 +41,7 @@ import org.apache.catalina.Wrapper; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; +import org.apache.tomcat.util.http.Method; @RunWith(Parameterized.class) @@ -80,7 +81,7 @@ public class TestDefaultServletRedirect extends TomcatBaseTest { Map<String, List<String>> headers = new HashMap<>(); // Should be redirected int rc = methodUrl("http://localhost:" + getPort() + "/test/jsp", out, DEFAULT_CLIENT_TIMEOUT_MS, - null, headers, "GET", false); + null, headers, Method.GET, false); Assert.assertEquals("Unexpected status code", redirectStatus, rc); } diff --git a/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java b/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java index c57408caca..9c8b668bd0 100644 --- a/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java +++ b/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java @@ -26,6 +26,8 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import org.apache.tomcat.util.http.Method; + /* * Split into multiple tests as a single test takes so long it impacts the time * of an entire test run. @@ -35,7 +37,7 @@ public class TestWebdavServletOptionCollection extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { - String[] methods = new String[] { "GET", "POST", "HEAD", "TRACE", "PUT", "DELETE", + String[] methods = new String[] { Method.GET, "POST", "HEAD", "TRACE", "PUT", "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 7085c7bf7c..5816513928 100644 --- a/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java +++ b/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java @@ -26,6 +26,8 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import org.apache.tomcat.util.http.Method; + /* * Split into multiple tests as a single test takes so long it impacts the time * of an entire test run. @@ -35,7 +37,7 @@ public class TestWebdavServletOptionsFile extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { - String[] methods = new String[] { "GET", "POST", "HEAD", "TRACE", "PUT", "DELETE", + String[] methods = new String[] { Method.GET, "POST", "HEAD", "TRACE", "PUT", "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 f5ca12c698..1c0231a5b2 100644 --- a/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java +++ b/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java @@ -26,6 +26,8 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import org.apache.tomcat.util.http.Method; + /* * Split into multiple tests as a single test takes so long it impacts the time * of an entire test run. @@ -35,7 +37,7 @@ public class TestWebdavServletOptionsUnknown extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { - String[] methods = new String[] { "GET", "POST", "HEAD", "TRACE", "PUT", "DELETE", + String[] methods = new String[] { Method.GET, "POST", "HEAD", "TRACE", "PUT", "DELETE", "MKCOL", "LOCK", "UNLOCK", "COPY", "MOVE", "PROPFIND", "PROPPATCH" }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/catalina/startup/TomcatBaseTest.java b/test/org/apache/catalina/startup/TomcatBaseTest.java index 81b360e929..3bde940d2d 100644 --- a/test/org/apache/catalina/startup/TomcatBaseTest.java +++ b/test/org/apache/catalina/startup/TomcatBaseTest.java @@ -80,6 +80,7 @@ import org.apache.catalina.webresources.StandardRoot; import org.apache.coyote.http11.Http11NioProtocol; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.collections.CaseInsensitiveKeyMap; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.res.StringManager; import org.apache.tomcat.util.scan.StandardJarScanFilter; import org.apache.tomcat.util.scan.StandardJarScanner; @@ -654,7 +655,7 @@ public abstract class TomcatBaseTest extends LoggingBaseTest { public static int getUrl(String path, ByteChunk out, boolean followRedirects) throws IOException { - return methodUrl(path, out, DEFAULT_CLIENT_TIMEOUT_MS, null, null, "GET", followRedirects); + return methodUrl(path, out, DEFAULT_CLIENT_TIMEOUT_MS, null, null, Method.GET, followRedirects); } public static int headUrl(String path, ByteChunk out, Map<String, List<String>> resHead) @@ -670,7 +671,7 @@ public abstract class TomcatBaseTest extends LoggingBaseTest { public static int getUrl(String path, ByteChunk out, int readTimeout, Map<String, List<String>> reqHead, Map<String, List<String>> resHead) throws IOException { - return methodUrl(path, out, readTimeout, reqHead, resHead, "GET"); + return methodUrl(path, out, readTimeout, reqHead, resHead, Method.GET); } public static int methodUrl(String path, ByteChunk out, int readTimeout, diff --git a/test/org/apache/catalina/valves/TestAccessLogValve.java b/test/org/apache/catalina/valves/TestAccessLogValve.java index da124a0631..152a5e2bbf 100644 --- a/test/org/apache/catalina/valves/TestAccessLogValve.java +++ b/test/org/apache/catalina/valves/TestAccessLogValve.java @@ -45,6 +45,7 @@ import org.apache.catalina.startup.TomcatBaseTest; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.buf.ByteChunk; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.json.JSONParser; import org.apache.tomcat.util.json.ParseException; @@ -109,7 +110,7 @@ public class TestAccessLogValve extends TomcatBaseTest { parameterSets.add(new Object[] {"pct-I", JSON_TYPE, "/", "%I", "\\{\"threadName\":\"http-nio2?-" + LOCAL_IP_PATTERN + "-auto-\\d+-exec-\\d+\"\\}"}); parameterSets.add(new Object[] {"pct-l", TEXT_TYPE, "/", "%l", "-"}); parameterSets.add(new Object[] {"pct-l", JSON_TYPE, "/", "%l", "\\{\"logicalUserName\":\"-\"\\}"}); - parameterSets.add(new Object[] {"pct-m", TEXT_TYPE, "/", "%m", "GET"}); + parameterSets.add(new Object[] {"pct-m", TEXT_TYPE, "/", "%m", Method.GET}); parameterSets.add(new Object[] {"pct-m", JSON_TYPE, "/", "%m", "\\{\"method\":\"GET\"\\}"}); parameterSets.add(new Object[] {"pct-p", TEXT_TYPE, "/", "%p", "\\d+"}); parameterSets.add(new Object[] {"pct-p", JSON_TYPE, "/", "%p", "\\{\"port\":\"\\d+\"\\}"}); diff --git a/test/org/apache/catalina/valves/TestExtendedAccessLogValve.java b/test/org/apache/catalina/valves/TestExtendedAccessLogValve.java index bf71276c09..96ac18cc16 100644 --- a/test/org/apache/catalina/valves/TestExtendedAccessLogValve.java +++ b/test/org/apache/catalina/valves/TestExtendedAccessLogValve.java @@ -41,6 +41,7 @@ import org.apache.catalina.Host; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; +import org.apache.tomcat.util.http.Method; @RunWith(Parameterized.class) public class TestExtendedAccessLogValve extends TomcatBaseTest { @@ -208,7 +209,7 @@ public class TestExtendedAccessLogValve extends TomcatBaseTest { if ("time".equals(fieldId)) { Assert.assertTrue("Invalid time format", isTimeFormat(value)); } else if ("cs-method".equals(fieldId)) { - Assert.assertEquals("GET", value); + Assert.assertEquals(Method.GET, value); } else if (fieldId.startsWith("c-ip")) { // IPv4 with optional port Assert.assertTrue(value.matches("^\\d{1,3}(\\.\\d{1,3}){3}(:\\d+)?$")); diff --git a/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java b/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java index beb6835d29..5980716b5f 100644 --- a/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java +++ b/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java @@ -45,6 +45,7 @@ import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.catalina.valves.ValveBase; import org.apache.tomcat.util.buf.ByteChunk; +import org.apache.tomcat.util.http.Method; /* * Implementation note: @@ -891,9 +892,9 @@ public class TestRewriteValve extends TomcatBaseTest { ByteChunk res = new ByteChunk(); int rc = methodUrl("http://localhost:" + getPort() + request, res, DEFAULT_CLIENT_TIMEOUT_MS, - reqHead, - resHead, - "GET", true); + reqHead, + resHead, + Method.GET, true); res.setCharset(StandardCharsets.UTF_8); if (expectedURI == null) { @@ -944,7 +945,7 @@ public class TestRewriteValve extends TomcatBaseTest { ByteChunk res = new ByteChunk(); Map<String, List<String>> resHead = new HashMap<>(); int rc = methodUrl("http://localhost:" + getPort() + request, res, DEFAULT_CLIENT_TIMEOUT_MS, null, resHead, - "GET", false); + Method.GET, false); res.setCharset(StandardCharsets.UTF_8); if (expectedURI == null) { @@ -986,7 +987,7 @@ public class TestRewriteValve extends TomcatBaseTest { reqHead.put("cookie", Arrays.asList("test=data")); ByteChunk res = new ByteChunk(); int rc = methodUrl("http://localhost:" + getPort() + "/source/cookieTest", res, DEFAULT_CLIENT_TIMEOUT_MS, - reqHead, null, "GET", false); + reqHead, null, Method.GET, false); Assert.assertEquals(HttpServletResponse.SC_OK, rc); diff --git a/test/org/apache/coyote/ajp/SimpleAjpClient.java b/test/org/apache/coyote/ajp/SimpleAjpClient.java index f4ba2a64d6..ed3a3c837b 100644 --- a/test/org/apache/coyote/ajp/SimpleAjpClient.java +++ b/test/org/apache/coyote/ajp/SimpleAjpClient.java @@ -23,6 +23,8 @@ import java.util.Locale; import javax.net.SocketFactory; +import org.apache.tomcat.util.http.Method; + /** * AJP client that is not (yet) a full AJP client implementation as it just provides the functionality required for the * unit tests. The client uses blocking IO throughout. @@ -77,7 +79,7 @@ public class SimpleAjpClient { case "OPTIONS": this.method = 1; break; - case "GET": + case Method.GET: this.method = 2; break; case "HEAD": @@ -165,7 +167,7 @@ public class SimpleAjpClient { case 1: return "OPTIONS"; case 2: - return "GET"; + return Method.GET; case 3: return "HEAD"; case 4: diff --git a/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java b/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java index 65bfb28b5a..627a1a05b5 100644 --- a/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java +++ b/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java @@ -41,6 +41,7 @@ import org.apache.catalina.Globals; import org.apache.catalina.connector.Connector; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.res.StringManager; public class TestAbstractAjpProcessor extends TomcatBaseTest { @@ -710,12 +711,12 @@ public class TestAbstractAjpProcessor extends TomcatBaseTest { @Test public void testZeroLengthRequestBodyGetA() throws Exception { - doTestZeroLengthRequestBody("GET", true); + doTestZeroLengthRequestBody(Method.GET, true); } @Test public void testZeroLengthRequestBodyGetB() throws Exception { - doTestZeroLengthRequestBody("GET", false); + doTestZeroLengthRequestBody(Method.GET, false); } @Test @@ -1107,7 +1108,7 @@ public class TestAbstractAjpProcessor extends TomcatBaseTest { response.setCharacterEncoding("UTF-8"); try (PrintWriter w = response.getWriter()) { - w.println("Method: " + (isPost ? "POST" : "GET") + ". Reading request body..."); + w.println("Method: " + (isPost ? "POST" : Method.GET) + ". Reading request body..."); w.println("Request Body length in bytes: " + readCount); } } diff --git a/test/org/apache/coyote/http11/TestHttp11InputBuffer.java b/test/org/apache/coyote/http11/TestHttp11InputBuffer.java index ae30776f0a..7772c1aaa6 100644 --- a/test/org/apache/coyote/http11/TestHttp11InputBuffer.java +++ b/test/org/apache/coyote/http11/TestHttp11InputBuffer.java @@ -34,6 +34,7 @@ import org.apache.catalina.startup.SimpleHttpClient; import org.apache.catalina.startup.TesterServlet; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; +import org.apache.tomcat.util.http.Method; public class TestHttp11InputBuffer extends TomcatBaseTest { @@ -552,7 +553,7 @@ public class TestHttp11InputBuffer extends TomcatBaseTest { public void testInvalidMethod() { String[] request = new String[1]; - request[0] = "GET" + (char) 0 + " /test HTTP/1.1" + CRLF + "Host: localhost:8080" + CRLF + "Connection: close" + + request[0] = Method.GET + (char) 0 + " /test HTTP/1.1" + CRLF + "Host: localhost:8080" + CRLF + "Connection: close" + CRLF + CRLF; InvalidClient client = new InvalidClient(request); diff --git a/test/org/apache/coyote/http2/Http2TestBase.java b/test/org/apache/coyote/http2/Http2TestBase.java index 2c2fb4b7b2..b9e324a339 100644 --- a/test/org/apache/coyote/http2/Http2TestBase.java +++ b/test/org/apache/coyote/http2/Http2TestBase.java @@ -63,6 +63,7 @@ import org.apache.coyote.http2.Http2Parser.Input; import org.apache.coyote.http2.Http2Parser.Output; import org.apache.tomcat.util.compat.JrePlatform; import org.apache.tomcat.util.http.FastHttpDateFormat; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.http.MimeHeaders; import org.apache.tomcat.util.http.parser.Priority; import org.apache.tomcat.util.net.TesterSupport; @@ -224,7 +225,7 @@ public abstract class Http2TestBase extends TomcatBaseTest { protected void buildGetRequest(byte[] frameHeader, ByteBuffer headersPayload, byte[] padding, int streamId, String url) { List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", url)); headers.add(new Header(":authority", "localhost:" + getPort())); @@ -262,7 +263,7 @@ public abstract class Http2TestBase extends TomcatBaseTest { protected void buildSimpleGetRequestPart1(byte[] frameHeader, ByteBuffer headersPayload, int streamId) { List<Header> headers = new ArrayList<>(3); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/simple")); diff --git a/test/org/apache/coyote/http2/TestHttp2Limits.java b/test/org/apache/coyote/http2/TestHttp2Limits.java index e7435d57a0..c1281e85ac 100644 --- a/test/org/apache/coyote/http2/TestHttp2Limits.java +++ b/test/org/apache/coyote/http2/TestHttp2Limits.java @@ -32,6 +32,7 @@ import org.junit.Test; import org.apache.catalina.connector.Connector; import org.apache.coyote.http11.AbstractHttp11Protocol; import org.apache.coyote.http2.HpackEncoder.State; +import org.apache.tomcat.util.http.Method; import org.apache.tomcat.util.http.MimeHeaders; import org.apache.tomcat.util.res.StringManager; @@ -324,7 +325,7 @@ public class TestHttp2Limits extends Http2TestBase { private void populateHeadersPayload(ByteBuffer headersPayload, List<String[]> customHeaders, String path) throws Exception { MimeHeaders headers = new MimeHeaders(); - headers.addValue(":method").setString("GET"); + headers.addValue(":method").setString(Method.GET); headers.addValue(":scheme").setString("http"); headers.addValue(":path").setString(path); headers.addValue(":authority").setString("localhost:" + getPort()); diff --git a/test/org/apache/coyote/http2/TestHttp2Section_8_1.java b/test/org/apache/coyote/http2/TestHttp2Section_8_1.java index 45a6864f09..54f2e50431 100644 --- a/test/org/apache/coyote/http2/TestHttp2Section_8_1.java +++ b/test/org/apache/coyote/http2/TestHttp2Section_8_1.java @@ -27,6 +27,7 @@ import org.apache.catalina.connector.Connector; import org.apache.catalina.startup.Tomcat; import org.apache.coyote.ContinueResponseTiming; import org.apache.coyote.http11.AbstractHttp11Protocol; +import org.apache.tomcat.util.http.Method; /** * Unit tests for Section 8.1 of <a href="https://tools.ietf.org/html/rfc7540">RFC 7540</a>. <br> @@ -195,7 +196,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(5); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/simple")); headers.add(new Header(":authority", "localhost:" + getPort())); @@ -210,7 +211,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(5); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/simple")); headers.add(new Header(":authority", "localhost:" + getPort())); @@ -228,7 +229,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/simple")); headers.add(new Header("x-test", "test")); @@ -260,7 +261,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/simple")); headers.add(new Header("host", "localhost:" + getPort())); @@ -284,7 +285,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/simple")); headers.add(new Header("host", "localhost:" + getPort())); @@ -309,7 +310,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":authority", "localhost:" + getPort())); headers.add(new Header(":path", "/simple")); @@ -334,7 +335,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":authority", "localhost")); headers.add(new Header(":path", "/simple")); @@ -396,7 +397,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { private void doTestHostHeaderInconsistent(String authority, String host) throws Exception { List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":authority", authority)); headers.add(new Header(":path", "/simple")); @@ -445,7 +446,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "abcd")); headers.add(new Header(":authority", "localhost:" + getPort())); headers.add(new Header(":path", "/simple")); @@ -470,7 +471,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "ab!cd")); headers.add(new Header(":authority", "localhost:" + getPort())); headers.add(new Header(":path", "/simple")); @@ -485,7 +486,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "")); headers.add(new Header(":authority", "localhost:" + getPort())); headers.add(new Header(":path", "/simple")); @@ -500,7 +501,7 @@ public class TestHttp2Section_8_1 extends Http2TestBase { http2Connect(); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":authority", "localhost:" + getPort())); headers.add(new Header(":path", "/simple")); headers.add(new Header("host", "localhost:" + getPort())); diff --git a/test/org/apache/coyote/http2/TestHttp2UpgradeHandler.java b/test/org/apache/coyote/http2/TestHttp2UpgradeHandler.java index 5fb1505965..a78682446f 100644 --- a/test/org/apache/coyote/http2/TestHttp2UpgradeHandler.java +++ b/test/org/apache/coyote/http2/TestHttp2UpgradeHandler.java @@ -24,6 +24,7 @@ import org.junit.Test; import org.apache.catalina.Context; import org.apache.catalina.startup.Tomcat; +import org.apache.tomcat.util.http.Method; public class TestHttp2UpgradeHandler extends Http2TestBase { @@ -130,7 +131,7 @@ public class TestHttp2UpgradeHandler extends Http2TestBase { openClientConnection(); - byte[] upgradeRequest = ((usePost ? "POST" : "GET") + " /" + (useReader ? "?useReader=true " : " ") + + byte[] upgradeRequest = ((usePost ? "POST" : Method.GET) + " /" + (useReader ? "?useReader=true " : " ") + "HTTP/1.1\r\n" + "Host: localhost:" + getPort() + "\r\n" + "Content-Length: 18\r\n" + "Connection: Upgrade,HTTP2-Settings\r\n" + "Upgrade: h2c\r\n" + EMPTY_HTTP2_SETTINGS_HEADER + "\r\n" + "Small request body").getBytes(StandardCharsets.ISO_8859_1); diff --git a/test/org/apache/coyote/http2/TestStreamProcessor.java b/test/org/apache/coyote/http2/TestStreamProcessor.java index bfc4d8595b..79e6a9ca3a 100644 --- a/test/org/apache/coyote/http2/TestStreamProcessor.java +++ b/test/org/apache/coyote/http2/TestStreamProcessor.java @@ -41,6 +41,7 @@ import org.apache.catalina.connector.ResponseFacade; import org.apache.catalina.startup.Tomcat; import org.apache.tomcat.util.compat.JrePlatform; import org.apache.tomcat.util.http.FastHttpDateFormat; +import org.apache.tomcat.util.http.Method; public class TestStreamProcessor extends Http2TestBase { @@ -138,7 +139,7 @@ public class TestStreamProcessor extends Http2TestBase { ByteBuffer headersPayload = ByteBuffer.allocate(128); List<Header> headers = new ArrayList<>(3); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/index.html")); headers.add(new Header(":authority", "localhost:" + getPort())); @@ -193,7 +194,7 @@ public class TestStreamProcessor extends Http2TestBase { ByteBuffer headersPayload = ByteBuffer.allocate(128); List<Header> headers = new ArrayList<>(3); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/noContent")); headers.add(new Header(":authority", "localhost:" + getPort())); @@ -282,7 +283,7 @@ public class TestStreamProcessor extends Http2TestBase { ByteBuffer headersPayload = ByteBuffer.allocate(128); List<Header> headers = new ArrayList<>(5); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/index.html")); headers.add(new Header(":authority", "localhost:" + getPort())); @@ -327,7 +328,7 @@ public class TestStreamProcessor extends Http2TestBase { ByteBuffer headersPayload = ByteBuffer.allocate(128); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/index^html")); headers.add(new Header(":authority", "localhost:" + getPort())); @@ -371,7 +372,7 @@ public class TestStreamProcessor extends Http2TestBase { ByteBuffer headersPayload = ByteBuffer.allocate(128); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/index.html?foo=[]")); headers.add(new Header(":authority", "localhost:" + getPort())); @@ -417,7 +418,7 @@ public class TestStreamProcessor extends Http2TestBase { ByteBuffer headersPayload = ByteBuffer.allocate(128); List<Header> headers = new ArrayList<>(4); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/index.html?foo=[]")); headers.add(new Header(":authority", "localhost:" + getPort())); @@ -524,7 +525,7 @@ public class TestStreamProcessor extends Http2TestBase { ByteBuffer headersPayload = ByteBuffer.allocate(128); List<Header> headers = new ArrayList<>(3); - headers.add(new Header(":method", "GET")); + headers.add(new Header(":method", Method.GET)); headers.add(new Header(":scheme", "http")); headers.add(new Header(":path", "/compression")); headers.add(new Header(":authority", "localhost:" + getPort())); diff --git a/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java b/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java index a9ce27a6b8..34a547b457 100644 --- a/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java +++ b/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java @@ -31,6 +31,7 @@ import org.junit.Test; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; +import org.apache.tomcat.util.http.Method; public class TestSecurityConstraint { @@ -50,7 +51,7 @@ public class TestSecurityConstraint { GET_ONLY = new SecurityConstraint(); GET_ONLY.addAuthRole(ROLE1); SecurityCollection scGetOnly = new SecurityCollection(); - scGetOnly.addMethod("GET"); + scGetOnly.addMethod(Method.GET); scGetOnly.addPatternDecoded(URL_PATTERN); scGetOnly.setName("GET-ONLY"); GET_ONLY.addCollection(scGetOnly); @@ -66,7 +67,7 @@ public class TestSecurityConstraint { GET_OMIT = new SecurityConstraint(); GET_OMIT.addAuthRole(ROLE1); SecurityCollection scGetOmit = new SecurityCollection(); - scGetOmit.addOmittedMethod("GET"); + scGetOmit.addOmittedMethod(Method.GET); scGetOmit.addPatternDecoded(URL_PATTERN); scGetOmit.setName("GET_OMIT"); GET_OMIT.addCollection(scGetOmit); @@ -143,12 +144,12 @@ public class TestSecurityConstraint { // Example 13-5 // @ServletSecurity((httpMethodConstraints = { - // @HttpMethodConstraint(value = "GET", rolesAllowed = "R1"), + // @HttpMethodConstraint(value = Method.GET, rolesAllowed = "R1"), // @HttpMethodConstraint(value = "POST", rolesAllowed = "R1", // transportGuarantee = TransportGuarantee.CONFIDENTIAL) // }) hmces.clear(); - hmces.add(new HttpMethodConstraintElement("GET", + hmces.add(new HttpMethodConstraintElement(Method.GET, new HttpConstraintElement( ServletSecurity.TransportGuarantee.NONE, ROLE1))); hmces.add(new HttpMethodConstraintElement("POST", @@ -166,7 +167,7 @@ public class TestSecurityConstraint { Assert.assertTrue(result[i].findCollections()[0].findPattern(URL_PATTERN)); Assert.assertEquals(1, result[i].findCollections()[0].findMethods().length); String method = result[i].findCollections()[0].findMethods()[0]; - if ("GET".equals(method)) { + if (Method.GET.equals(method)) { Assert.assertEquals(ServletSecurity.TransportGuarantee.NONE.name(), result[i].getUserConstraint()); } else if ("POST".equals(method)) { @@ -179,9 +180,9 @@ public class TestSecurityConstraint { // Example 13-6 // @ServletSecurity(value = @HttpConstraint(rolesAllowed = "R1"), - // httpMethodConstraints = @HttpMethodConstraint("GET")) + // httpMethodConstraints = @HttpMethodConstraint(Method.GET)) hmces.clear(); - hmces.add(new HttpMethodConstraintElement("GET")); + hmces.add(new HttpMethodConstraintElement(Method.GET)); element = new ServletSecurityElement( new HttpConstraintElement( ServletSecurity.TransportGuarantee.NONE, @@ -193,11 +194,11 @@ 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("GET", + Assert.assertEquals(Method.GET, result[i].findCollections()[0].findMethods()[0]); Assert.assertFalse(result[i].getAuthConstraint()); } else if (result[i].findCollections()[0].findOmittedMethods().length == 1) { - Assert.assertEquals("GET", + Assert.assertEquals(Method.GET, result[i].findCollections()[0].findOmittedMethods()[0]); Assert.assertTrue(result[i].getAuthConstraint()); Assert.assertEquals(1, result[i].findAuthRoles().length); @@ -303,7 +304,7 @@ public class TestSecurityConstraint { // Should list GET as an omitted method Assert.assertEquals(0, sc.findMethods().length); Assert.assertEquals(1, sc.findOmittedMethods().length); - Assert.assertEquals("GET", sc.findOmittedMethods()[0]); + Assert.assertEquals(Method.GET, sc.findOmittedMethods()[0]); } @@ -339,7 +340,7 @@ public class TestSecurityConstraint { // Should list GET as an method Assert.assertEquals(0, sc.findOmittedMethods().length); Assert.assertEquals(1, sc.findMethods().length); - Assert.assertEquals("GET", sc.findMethods()[0]); + Assert.assertEquals(Method.GET, sc.findMethods()[0]); } @@ -398,7 +399,7 @@ public class TestSecurityConstraint { Assert.assertEquals(2, sc.findOmittedMethods().length); HashSet<String> omittedMethods = new HashSet<>(); omittedMethods.addAll(Arrays.asList(sc.findOmittedMethods())); - Assert.assertTrue(omittedMethods.remove("GET")); + Assert.assertTrue(omittedMethods.remove(Method.GET)); Assert.assertTrue(omittedMethods.remove("POST")); } @@ -447,6 +448,6 @@ public class TestSecurityConstraint { // Should list GET as a method Assert.assertEquals(1, sc.findMethods().length); Assert.assertEquals(0, sc.findOmittedMethods().length); - Assert.assertEquals("GET", sc.findMethods()[0]); + Assert.assertEquals(Method.GET, sc.findMethods()[0]); } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org