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