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")