You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2009/04/17 04:43:10 UTC

svn commit: r765838 - in /incubator/shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/servlet/ProxyServletRequest.java test/java/org/apache/shindig/gadgets/servlet/ProxyServletRequestTest.java

Author: johnh
Date: Fri Apr 17 02:43:10 2009
New Revision: 765838

URL: http://svn.apache.org/viewvc?rev=765838&view=rev
Log:
Re-establishes %rawurl% as the appropriate substitution for chained-proxy syntax. This enables SWFs embedded using gadgets.flash.embedCachedFlash(...) to load relative resources reliably.

Proxied URL is still URIDecoded by ProxyServletRequest for the moment, making this CL 100% backward-compatible with the status quo while making it possible to support use cases as described in SHINDIG-852, which this re-resolves.


Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServletRequest.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyServletRequestTest.java

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServletRequest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServletRequest.java?rev=765838&r1=765837&r2=765838&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServletRequest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyServletRequest.java Fri Apr 17 02:43:10 2009
@@ -58,8 +58,12 @@
                                 Utf8UrlCoder.decode(paramMatcher.group(2)));
       }
 
-      extractedParameters.put(ProxyBase.URL_PARAM,
-                              Utf8UrlCoder.decode(chainedMatcher.group(2)));
+      String urlParam = Utf8UrlCoder.decode(chainedMatcher.group(2));
+      if (request.getQueryString() != null) {
+        urlParam += "?" + request.getQueryString();
+      }
+      extractedParameters.put(ProxyBase.URL_PARAM, urlParam);
+                              
     } else {
       extractedParameters = Collections.emptyMap();
     }

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyServletRequestTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyServletRequestTest.java?rev=765838&r1=765837&r2=765838&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyServletRequestTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyServletRequestTest.java Fri Apr 17 02:43:10 2009
@@ -30,7 +30,14 @@
   private final HttpServletRequest request = mock(HttpServletRequest.class);
 
   public ProxyServletRequest setupMockRequest(String url) {
+    String query = null;
+    int qPos = url.indexOf('?');
+    if (qPos != -1) {
+      query = url.substring(qPos + 1);
+      url = url.substring(0, qPos);
+    }
     expect(request.getRequestURI()).andReturn(url).atLeastOnce();
+    expect(request.getQueryString()).andReturn(query).anyTimes();
     expect(request.getParameter("url")).andReturn(URL).anyTimes();
     replay();
     return new ProxyServletRequest(request);