You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2010/01/29 03:04:35 UTC
svn commit: r904341 - in /incubator/shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/http/HttpResponse.java
test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java
Author: lindner
Date: Fri Jan 29 02:04:35 2010
New Revision: 904341
URL: http://svn.apache.org/viewvc?rev=904341&view=rev
Log:
SHINDIG-1275 | Patch from Michael Hermanto | HttpResponse.getAndUpdateEncoding() barf with ArrayOutOfBoundsException upon empty header Content-Type
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponse.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java
Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponse.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponse.java?rev=904341&r1=904340&r2=904341&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponse.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/HttpResponse.java Fri Jan 29 02:04:35 2010
@@ -457,7 +457,9 @@
if (!values.isEmpty()) {
String contentType = values.iterator().next();
String[] parts = StringUtils.split(contentType, ';');
- if (BINARY_CONTENT_TYPES.contains(parts[0])) {
+ if (parts == null
+ || parts.length == 0
+ || BINARY_CONTENT_TYPES.contains(parts[0])) {
return DEFAULT_ENCODING;
}
if (parts.length == 2) {
Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java?rev=904341&r1=904340&r2=904341&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/HttpResponseTest.java Fri Jan 29 02:04:35 2010
@@ -156,6 +156,15 @@
}
@Test
+ public void testEncodingDetectionWithEmptyContentType() throws Exception {
+ HttpResponse response = new HttpResponseBuilder()
+ .addHeader("Content-Type", "")
+ .setResponseString("something")
+ .create();
+ assertEquals(HttpResponse.DEFAULT_ENCODING.name(), response.getEncoding());
+ }
+
+ @Test
public void testEncodingDetectionUtf8WithBomNoContentHeader() throws Exception {
HttpResponse response = new HttpResponseBuilder()
.setResponse(UTF8_DATA)