Author: johnh
Date: Thu Dec  3 20:43:53 2009
New Revision: 886914

URL: http://svn.apache.org/viewvc?rev=886914&view=rev
Log:
Avoid an NPE from ProxyHandler. Thanks to Ziv Horesh for the patch!


Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java?rev=886914&r1=886913&r2=886914&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java
 Thu Dec  3 20:43:53 2009
@@ -143,6 +143,10 @@
     }
 
     HttpRequest rcr = buildHttpRequest(request, URL_PARAM);
+    if (rcr == null) {
+      throw new GadgetException(GadgetException.Code.INVALID_PARAMETER,
+          "No url paramater in request");      
+    }
     HttpResponse results = requestPipeline.execute(rcr);
     
     if (results.isError()) {

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java?rev=886914&r1=886913&r2=886914&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java
 Thu Dec  3 20:43:53 2009
@@ -91,6 +91,21 @@
     assertTrue(rewriter.responseWasRewritten());
   }
 
+  public void testNoUrl() throws Exception {
+    setupProxyRequestMock("www.example.com", null);
+    
expect(lockedDomainService.isSafeForOpenProxy("www.example.com")).andReturn(true);
+    replay();
+
+    try {
+      proxyHandler.doFetch(request, recorder);
+      fail("Proxy should raise exception if there is no url");
+    } catch (GadgetException e) {
+      // Good!
+    }
+  }
+
+
+  
   public void testHttpRequestFillsParentAndContainer() throws Exception {
     setupProxyRequestMock("www.example.com", URL_ONE);
     
expect(lockedDomainService.isSafeForOpenProxy("www.example.com")).andReturn(true);


Reply via email to