From b3ede9cac905c830c0a982785ca8baca25ae4e6b Mon Sep 17 00:00:00 2001 From: Aaron Ogburn Date: Fri, 20 Sep 2024 19:14:46 -0400 Subject: [PATCH] [UNDERTOW-2446] HttpServletRequestImpl.getParts shouldn't throw exception after already loading parts --- .../io/undertow/servlet/spec/HttpServletRequestImpl.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/servlet/src/main/java/io/undertow/servlet/spec/HttpServletRequestImpl.java b/servlet/src/main/java/io/undertow/servlet/spec/HttpServletRequestImpl.java index 9acdd6c6cb..36759124c0 100644 --- a/servlet/src/main/java/io/undertow/servlet/spec/HttpServletRequestImpl.java +++ b/servlet/src/main/java/io/undertow/servlet/spec/HttpServletRequestImpl.java @@ -553,7 +553,6 @@ public void logout() throws ServletException { @Override public Collection getParts() throws IOException, ServletException { - verifyMultipartServlet(); if (parts == null) { loadParts(); } @@ -570,11 +569,7 @@ private void verifyMultipartServlet() { @Override public Part getPart(final String name) throws IOException, ServletException { - verifyMultipartServlet(); - if (parts == null) { - loadParts(); - } - for (Part part : parts) { + for (Part part : getParts()) { if (part.getName().equals(name)) { return part; } @@ -600,6 +595,7 @@ private void loadParts() throws IOException, ServletException { final ServletRequestContext requestContext = exchange.getAttachment(ServletRequestContext.ATTACHMENT_KEY); if (parts == null) { + verifyMultipartServlet(); final List parts = new ArrayList<>(); String mimeType = exchange.getRequestHeaders().getFirst(Headers.CONTENT_TYPE); if (mimeType != null && mimeType.startsWith(MultiPartParserDefinition.MULTIPART_FORM_DATA)) {