From d3fe9db7f200f1b1e71c625b2562aef79fd95869 Mon Sep 17 00:00:00 2001 From: Zac Spitzer Date: Thu, 25 Jul 2024 11:35:44 +0200 Subject: [PATCH] LDEV-4898 stricter soap detection https://luceeserver.atlassian.net/browse/LDEV-4898 --- core/src/main/java/lucee/runtime/ComponentPageImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/src/main/java/lucee/runtime/ComponentPageImpl.java b/core/src/main/java/lucee/runtime/ComponentPageImpl.java index a7a05ef86a..fdcf16beea 100755 --- a/core/src/main/java/lucee/runtime/ComponentPageImpl.java +++ b/core/src/main/java/lucee/runtime/ComponentPageImpl.java @@ -40,6 +40,7 @@ import lucee.commons.lang.HTMLEntities; import lucee.commons.lang.StringUtil; import lucee.commons.lang.mimetype.MimeType; +import lucee.commons.net.HTTPUtil; import lucee.runtime.component.StaticStruct; import lucee.runtime.config.ConfigWebPro; import lucee.runtime.converter.BinaryConverter; @@ -87,6 +88,8 @@ import lucee.runtime.type.util.UDFUtil; import lucee.runtime.util.PageContextUtil; + + /** * A Page that can produce Components */ @@ -691,6 +694,11 @@ private static void writeOut(PageContext pc, Object obj, MimeType mt, BinaryConv public static boolean isSoap(PageContext pc) { HttpServletRequest req = pc.getHttpServletRequest(); + + String strContentType = ReqRspUtil.getContentTypeAsString(pc, null); + Boolean isText = HTTPUtil.isTextMimeType(strContentType); + if (isText == null || !isText) return false; + InputStream is = null; try { is = req.getInputStream();