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


Reply via email to