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();
}
}