Author: chirag
Date: Tue Apr  6 19:09:23 2010
New Revision: 931276

URL: http://svn.apache.org/viewvc?rev=931276&view=rev
Log:
Allow empty responses in BasicHttpFetcher.
Code review: http://codereview.appspot.com/888042/show

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

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/BasicHttpFetcher.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/BasicHttpFetcher.java?rev=931276&r1=931275&r2=931276&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/BasicHttpFetcher.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/http/BasicHttpFetcher.java
 Tue Apr  6 19:09:23 2010
@@ -321,11 +321,8 @@ public class BasicHttpFetcher implements
       // So lets pass it the url parsed:
       response = FETCHER.execute(host, httpMethod);
 
-      if (response == null)
+      if (response == null) {
         throw new IOException("Unknown problem with request");
-
-      if (response.getEntity() == null) {
-        throw new IOException("Cannot retrieve " + request.getUri() + " reason 
" + response.getStatusLine().getReasonPhrase());
       }
 
       long now = System.currentTimeMillis();
@@ -431,15 +428,17 @@ public class BasicHttpFetcher implements
       }
     }
 
-    HttpEntity entity = Preconditions.checkNotNull(response.getEntity());
+    HttpEntity entity = response.getEntity();
 
     if (maxObjSize > 0 && entity.getContentLength() > maxObjSize) {
       return HttpResponse.badrequest("Exceeded maximum number of bytes - " + 
maxObjSize);
     }
 
+    byte[] responseBytes = (entity == null) ? null : 
EntityUtils.toByteArray(entity);
+
     return builder
         .setHttpStatusCode(response.getStatusLine().getStatusCode())
-        .setResponse(EntityUtils.toByteArray(entity))
+        .setResponse(responseBytes)
         .create();
   }
 }


Reply via email to