Author: beaton
Date: Thu Oct 23 16:33:07 2008
New Revision: 707501

URL: http://svn.apache.org/viewvc?rev=707501&view=rev
Log:
Deal with content-type headers that include quotes around the charset.

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=707501&r1=707500&r2=707501&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
 Thu Oct 23 16:33:07 2008
@@ -411,7 +411,13 @@
       if (parts.length == 2) {
         int offset = parts[1].indexOf("charset=");
         if (offset != -1) {
-          return parts[1].substring(offset + 8).toUpperCase();
+          String charset = parts[1].substring(offset + 8).toUpperCase();
+          // Some servers include quotes around the charset:
+          //   Content-Type: text/html; charset="UTF-8"
+          if (charset.charAt(0) == '"') {
+            charset = charset.substring(1, charset.length() - 1);
+          }
+          return charset;
         }
       }
     }

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=707501&r1=707500&r2=707501&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
 Thu Oct 23 16:33:07 2008
@@ -58,6 +58,13 @@
     assertEquals("TEST-CHARACTER-SET", response.getEncoding());
   }
 
+  public void testGetEncodingQuotes() throws Exception {
+    HttpResponse response = new HttpResponseBuilder()
+        .addHeader("Content-Type", "text/plain; 
charset=\"TEST-CHARACTER-SET\"")
+        .create();
+    assertEquals("TEST-CHARACTER-SET", response.getEncoding());
+  }
+  
   public void testEncodingDetectionUtf8WithBom() throws Exception {
      HttpResponse response = new HttpResponseBuilder()
          .addHeader("Content-Type", "text/plain; charset=UTF-8")


Reply via email to