Repository: cxf Updated Branches: refs/heads/2.7.x-fixes 5c18477c2 -> 86f0e5646
Fixing empty charset processing errors, patch from emlun applied with thanks Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/86f0e564 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/86f0e564 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/86f0e564 Branch: refs/heads/2.7.x-fixes Commit: 86f0e56464332148c15e9f4b30ecb7e53e4b2ba7 Parents: 5c18477 Author: Sergey Beryozkin <[email protected]> Authored: Wed Oct 7 11:25:04 2015 +0100 Committer: Sergey Beryozkin <[email protected]> Committed: Wed Oct 7 11:29:20 2015 +0100 ---------------------------------------------------------------------- .../java/org/apache/cxf/helpers/HttpHeaderHelper.java | 3 +++ .../org/apache/cxf/helpers/HttpHeaderHelperTest.java | 13 +++++++++++++ 2 files changed, 16 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/86f0e564/api/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java ---------------------------------------------------------------------- diff --git a/api/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java b/api/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java index 52b1ebe..049691d 100644 --- a/api/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java +++ b/api/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java @@ -87,6 +87,9 @@ public final class HttpHeaderHelper { if (charset.indexOf(";") != -1) { charset = charset.substring(0, charset.indexOf(";")).trim(); } + if (charset.isEmpty()) { + return null; + } if (charset.charAt(0) == '\"') { charset = charset.substring(1, charset.length() - 1); } http://git-wip-us.apache.org/repos/asf/cxf/blob/86f0e564/api/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java ---------------------------------------------------------------------- diff --git a/api/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java b/api/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java index 6239fb4..7fdb41e 100644 --- a/api/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java +++ b/api/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java @@ -20,7 +20,9 @@ package org.apache.cxf.helpers; import java.nio.charset.Charset; + import org.junit.Test; + import static org.junit.Assert.assertEquals; /** @@ -39,5 +41,16 @@ public class HttpHeaderHelperTest { cs = HttpHeaderHelper.mapCharset("'utf-8'"); assertEquals(Charset.forName("utf-8").name(), cs); } + + @Test + public void testEmptyCharset() { + String cs = HttpHeaderHelper.mapCharset(HttpHeaderHelper.findCharset("foo/bar; charset=")); + assertEquals("ISO-8859-1", cs); + } + @Test + public void testEmptyCharset2() { + String cs = HttpHeaderHelper.mapCharset(HttpHeaderHelper.findCharset("foo/bar; charset=;")); + assertEquals("ISO-8859-1", cs); + } }
