Author: lindner
Date: Sat Oct 31 00:01:39 2009
New Revision: 831491

URL: http://svn.apache.org/viewvc?rev=831491&view=rev
Log:
SHINDIG-1195 | BasicHttpFetcher requests compressed encoding on HEAD requests

Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/BasicHttpFetcher.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/BasicHttpFetcher.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/BasicHttpFetcher.java?rev=831491&r1=831490&r2=831491&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/BasicHttpFetcher.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/BasicHttpFetcher.java
 Sat Oct 31 00:01:39 2009
@@ -24,6 +24,7 @@
 import org.apache.commons.httpclient.methods.DeleteMethod;
 import org.apache.commons.httpclient.methods.EntityEnclosingMethod;
 import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.methods.HeadMethod;
 import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
 import org.apache.commons.httpclient.methods.PostMethod;
 import org.apache.commons.httpclient.methods.PutMethod;
@@ -162,6 +163,10 @@
       httpClient.getHostConfiguration().setProxy(address.getHostName(), 
address.getPort());
     }
 
+
+    // true for non-HEAD requests
+    boolean requestCompressedContent = true;
+
     if ("POST".equals(methodType) || "PUT".equals(methodType)) {
       EntityEnclosingMethod enclosingMethod = ("POST".equals(methodType))
               ? new PostMethod(requestUri)
@@ -175,13 +180,17 @@
       httpMethod = enclosingMethod;
     } else if ("DELETE".equals(methodType)) {
       httpMethod = new DeleteMethod(requestUri);
+    } else if ("HEAD".equals(methodType)) {
+      httpMethod = new HeadMethod(requestUri);
     } else {
       httpMethod = new GetMethod(requestUri);
     }
 
     httpMethod.setFollowRedirects(false);
     httpMethod.getParams().setSoTimeout(connectionTimeoutMs);
-    httpMethod.setRequestHeader("Accept-Encoding", "gzip, deflate");
+
+    if (requestCompressedContent)
+      httpMethod.setRequestHeader("Accept-Encoding", "gzip, deflate");
 
     for (Map.Entry<String, List<String>> entry : 
request.getHeaders().entrySet()) {
       httpMethod.setRequestHeader(entry.getKey(), 
StringUtils.join(entry.getValue(), ','));


Reply via email to