This is an automated email from the ASF dual-hosted git repository. paulrutter pushed a commit to branch maintenance/FELIX-6776-Introduce-way-to-restrict-request-and-response-size in repository https://gitbox.apache.org/repos/asf/felix-dev.git
commit cbd5d92df37f91e93777e7ad055c68036ad75252 Merge: 02c1387450 6858ded925 Author: Paul Rütter <[email protected]> AuthorDate: Wed May 7 20:13:01 2025 +0200 Merge branch 'master' into maintenance/FELIX-6774-Fix-for-size-issue # Conflicts: # http/jetty12/src/test/java/org/apache/felix/http/jetty/it/JettyMaxFormSizeIT.java http/jetty12/pom.xml | 2 +- .../http/jetty/it/AbstractJettyTestSupport.java | 2 +- .../felix/http/jetty/it/JettyMaxFormSizeIT.java | 47 ++++++++-------------- ...ormSizeIT.java => JettySizeLimitHandlerIT.java} | 15 ++++--- http/samples/whiteboard/pom.xml | 2 +- 5 files changed, 26 insertions(+), 42 deletions(-) diff --cc http/jetty12/src/test/java/org/apache/felix/http/jetty/it/JettyMaxFormSizeIT.java index 1791d0cab1,f04f74f822..a0e71667ff --- a/http/jetty12/src/test/java/org/apache/felix/http/jetty/it/JettyMaxFormSizeIT.java +++ b/http/jetty12/src/test/java/org/apache/felix/http/jetty/it/JettyMaxFormSizeIT.java @@@ -120,27 -112,20 +112,20 @@@ public class JettyMaxFormSizeIT extend Fields formFieldsLimitExceeded = new Fields(); formFieldsLimitExceeded.add(new Fields.Field("key", "valueoverlimit")); // over limit of 10 bytes - ContentResponse responseExceeded = httpClient.FORM(new URI(String.format("http://localhost:%d/withinlimit/a", httpPort)), formFieldsLimitExceeded); + ContentResponse responseExceeded = httpClient.FORM(uri, formFieldsLimitExceeded); - // Request limit exceeded, HTTP 413 directly from Jetty - assertEquals(413, responseExceeded.getStatus()); - // HTTP 500 thrown, because req.getParameter("key") throws an IOEx ++ // HTTP 500 thrown, because req.getParameter("key") throws an IOException + assertEquals(500, responseExceeded.getStatus()); httpClient.close(); } - static final class HelloWorldServletWithinLimit extends HttpServlet { - static final class HelloWorldServlet extends HttpServlet { -- @Override -- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - req.getParameter("key"); // this triggers the maxFormSize check -- resp.setStatus(200); -- resp.getWriter().write("OK"); -- } - } - - static final class HelloWorldServletExceedingLimit extends HttpServlet { ++ static final class HelloWorldServlet extends HttpServlet { + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ++ req.getParameter("key"); // this triggers the maxFormSize check + resp.setStatus(200); - resp.getWriter().write("responseoverlimit"); ++ resp.getWriter().write("OK"); + } } --} ++} diff --cc http/jetty12/src/test/java/org/apache/felix/http/jetty/it/JettySizeLimitHandlerIT.java index 1791d0cab1,f04f74f822..179726bf9b --- a/http/jetty12/src/test/java/org/apache/felix/http/jetty/it/JettySizeLimitHandlerIT.java +++ b/http/jetty12/src/test/java/org/apache/felix/http/jetty/it/JettySizeLimitHandlerIT.java @@@ -50,10 -50,10 +50,9 @@@ import org.osgi.service.servlet.whitebo @RunWith(PaxExam.class) @ExamReactorStrategy(PerClass.class) --public class JettyMaxFormSizeIT extends AbstractJettyTestSupport { ++public class JettySizeLimitHandlerIT extends AbstractJettyTestSupport { private static final int LIMIT_IN_BYTES = 10; -- @Inject protected BundleContext bundleContext; @@@ -128,19 -120,12 +127,19 @@@ httpClient.close(); } - static final class HelloWorldServletWithinLimit extends HttpServlet { - static final class HelloWorldServlet extends HttpServlet { -- @Override -- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - req.getParameter("key"); // this triggers the maxFormSize check -- resp.setStatus(200); -- resp.getWriter().write("OK"); -- } ++ static final class HelloWorldServletWithinLimit extends HttpServlet { ++ @Override ++ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ++ resp.setStatus(200); ++ resp.getWriter().write("OK"); ++ } + } + + static final class HelloWorldServletExceedingLimit extends HttpServlet { + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + resp.setStatus(200); + resp.getWriter().write("responseoverlimit"); + } } }
