Author: johnh
Date: Mon Jul 19 17:21:28 2010
New Revision: 965564
URL: http://svn.apache.org/viewvc?rev=965564&view=rev
Log:
Do not write to a closed HttpServletResponse, as created by the sendError API,
when proxying content.
Patch provided by Kuntal Loya.
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
URL:
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java?rev=965564&r1=965563&r2=965564&view=diff
==============================================================================
---
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
(original)
+++
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
Mon Jul 19 17:21:28 2010
@@ -163,15 +163,15 @@ public class ProxyHandler extends ProxyB
setResponseContentHeaders(response, results);
- if (results.getHttpStatusCode() != HttpResponse.SC_OK) {
+ if (results.isError()) {
if (results.getHttpStatusCode() ==
HttpResponse.SC_INTERNAL_SERVER_ERROR) {
// External "internal error" should be mapped to gateway error
response.sendError(HttpResponse.SC_BAD_GATEWAY);
} else {
response.sendError(results.getHttpStatusCode());
}
+ } else {
+ IOUtils.copy(results.getResponse(), response.getOutputStream());
}
-
- IOUtils.copy(results.getResponse(), response.getOutputStream());
}
}