You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by me...@apache.org on 2024/12/23 14:55:55 UTC
(myfaces) branch main updated: MYFACES-4703: Default content type if Accept header invalid (#823)
This is an automated email from the ASF dual-hosted git repository.
melloware pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/myfaces.git
The following commit(s) were added to refs/heads/main by this push:
new 898bad296 MYFACES-4703: Default content type if Accept header invalid (#823)
898bad296 is described below
commit 898bad296babff4a07bd84832144fb2967c47c25
Author: Melloware <me...@gmail.com>
AuthorDate: Mon Dec 23 09:55:49 2024 -0500
MYFACES-4703: Default content type if Accept header invalid (#823)
---
.../myfaces/renderkit/html/HtmlRenderKitImpl.java | 7 ++-----
.../myfaces/renderkit/HtmlRenderKitImplTest.java | 23 ++++++++--------------
2 files changed, 10 insertions(+), 20 deletions(-)
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java
index 77385d253..2bba6a40b 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlRenderKitImpl.java
@@ -304,11 +304,8 @@ public class HtmlRenderKitImpl extends RenderKit implements LazyRenderKit
{
// Note this case falls when contentTypeListStringFromAccept == null and
// contentTypeListString != null, but since this not an ajax request,
- // contentTypeListString should be taken strictly and throw IllegalArgumentException
- throw new IllegalArgumentException(
- "ContentTypeList does not contain a supported content type: "
- + ((contentTypeListString != null) ?
- contentTypeListString : contentTypeListStringFromAccept) );
+ // contentTypeListString should fall back to default (MYFACES-4703)
+ selectedContentType = myfacesConfig.getDefaultResponseWriterContentTypeMode();
}
}
}
diff --git a/impl/src/test/java/org/apache/myfaces/renderkit/HtmlRenderKitImplTest.java b/impl/src/test/java/org/apache/myfaces/renderkit/HtmlRenderKitImplTest.java
index 2bd77a034..804b6d75a 100644
--- a/impl/src/test/java/org/apache/myfaces/renderkit/HtmlRenderKitImplTest.java
+++ b/impl/src/test/java/org/apache/myfaces/renderkit/HtmlRenderKitImplTest.java
@@ -101,21 +101,14 @@ public class HtmlRenderKitImplTest extends AbstractFacesTestCase
@Test
public void testCreateResponseWriterContentType6()
{
- try
- {
- MyfacesConfig config = new MyfacesConfig();
- facesContext.getExternalContext().getApplicationMap().put(MyfacesConfig.class.getName(), config);
- request.addHeader("Accept", "image/png"); //Webkit
- HtmlRenderKitImpl renderKit = new HtmlRenderKitImpl();
- StringWriter writer = new StringWriter();
- HtmlResponseWriterImpl responseWriter = (HtmlResponseWriterImpl) renderKit.createResponseWriter(writer, null, null);
-
- Assertions.fail();
- }
- catch (IllegalArgumentException e)
- {
- // expected
- }
+ MyfacesConfig config = new MyfacesConfig();
+ facesContext.getExternalContext().getApplicationMap().put(MyfacesConfig.class.getName(), config);
+ request.addHeader("Accept", "text/plain"); //Invalid Type falls back to default
+ HtmlRenderKitImpl renderKit = new HtmlRenderKitImpl();
+ StringWriter writer = new StringWriter();
+ HtmlResponseWriterImpl responseWriter = (HtmlResponseWriterImpl) renderKit.createResponseWriter(writer, null, null);
+ Assertions.assertEquals(ContentTypeUtils.HTML_CONTENT_TYPE, responseWriter.getContentType());
+ Assertions.assertEquals(ContentTypeUtils.HTML_CONTENT_TYPE, responseWriter.getWriterContentTypeMode());
}
@Test