From eb1b30c81594bb1fc52dcb251ad3e17a07c14c6d Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 13 Mar 2026 11:42:07 +0100 Subject: [PATCH] Fix FormUtils.isFormPostRequest to handle content-type with parameters Use startsWith instead of equals to match the content type, so that requests with parameters like "application/x-www-form-urlencoded; charset=UTF-8" (sent by jQuery $.ajax by default) are correctly recognized as form POST requests. Co-Authored-By: Claude Opus 4.6 --- .../src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java index f8443785baa..63dfd24f50f 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/FormUtils.java @@ -306,7 +306,9 @@ private static void checkNumberOfParts(Message m, int numberOfParts) { } public static boolean isFormPostRequest(Message m) { - return MediaType.APPLICATION_FORM_URLENCODED.equals(m.get(Message.CONTENT_TYPE)) + String contentType = (String) m.get(Message.CONTENT_TYPE); + return contentType != null + && contentType.startsWith(MediaType.APPLICATION_FORM_URLENCODED) && HttpMethod.POST.equals(m.get(Message.HTTP_REQUEST_METHOD)); } }