You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by ga...@apache.org on 2011/03/08 19:58:50 UTC
svn commit: r1079486 - in /shindig/trunk/java: common/conf/
gadgets/src/main/java/org/apache/shindig/gadgets/
gadgets/src/main/java/org/apache/shindig/gadgets/uri/
gadgets/src/test/java/org/apache/shindig/gadgets/uri/
Author: gagan
Date: Tue Mar 8 18:58:50 2011
New Revision: 1079486
URL: http://svn.apache.org/viewvc?rev=1079486&view=rev
Log:
Patch by pulkitgoyal2000 | Issue 4050043: Concat & Proxied Url should not contain complete url as gadget param | http://codereview.appspot.com/4050043/
Added:
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriBaseTest.java (with props)
Modified:
shindig/trunk/java/common/conf/shindig.properties
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java
Modified: shindig/trunk/java/common/conf/shindig.properties
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/conf/shindig.properties?rev=1079486&r1=1079485&r2=1079486&view=diff
==============================================================================
--- shindig/trunk/java/common/conf/shindig.properties (original)
+++ shindig/trunk/java/common/conf/shindig.properties Tue Mar 8 18:58:50 2011
@@ -164,3 +164,5 @@ vanillaCajaParser.needsDebugData=true
# Allow non-SSL OAuth 2.0 bearer tokens
org.apache.shindig.auth.oauth2-require-ssl=false
+# Set gadget param in proxied uri as authority if this is true
+org.apache.shindig.gadgets.uri.setAuthorityAsGadgetParam=false
\ No newline at end of file
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java?rev=1079486&r1=1079485&r2=1079486&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultGuiceModule.java Tue Mar 8 18:58:50 2011
@@ -41,6 +41,7 @@ import org.apache.shindig.gadgets.rewrit
import org.apache.shindig.gadgets.servlet.GadgetsHandler;
import org.apache.shindig.gadgets.servlet.HttpRequestHandler;
import org.apache.shindig.gadgets.templates.TemplateModule;
+import org.apache.shindig.gadgets.uri.ProxyUriBase;
import org.apache.shindig.gadgets.uri.UriModule;
import org.apache.shindig.gadgets.variables.SubstituterModule;
@@ -80,7 +81,7 @@ public class DefaultGuiceModule extends
// We perform static injection on HttpResponse for cache TTLs.
requestStaticInjection(HttpResponse.class);
-
+ requestStaticInjection(ProxyUriBase.class);
registerGadgetHandlers();
registerFeatureHandlers();
}
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java?rev=1079486&r1=1079485&r2=1079486&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ProxyUriBase.java Tue Mar 8 18:58:50 2011
@@ -21,6 +21,8 @@ package org.apache.shindig.gadgets.uri;
import com.google.common.base.Objects;
import com.google.common.base.Strings;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
import org.apache.commons.lang.math.NumberUtils;
import org.apache.shindig.common.uri.Uri;
import org.apache.shindig.common.uri.UriBuilder;
@@ -39,6 +41,11 @@ import java.util.Map;
* @since 2.0.0
*/
public class ProxyUriBase {
+
+ @Inject(optional=true)
+ @Named("org.apache.shindig.gadgets.uri.setAuthorityAsGadgetParam")
+ static private boolean setAuthorityAsGadgetParam = false;
+
private UriStatus status = null;
private Integer refresh = null;
private boolean debug = false;
@@ -57,7 +64,8 @@ public class ProxyUriBase {
gadget.getContext().getDebug(),
gadget.getContext().getIgnoreCache(),
gadget.getContext().getContainer(),
- gadget.getSpec().getUrl().toString());
+ setAuthorityAsGadgetParam ? gadget.getSpec().getUrl().getAuthority() :
+ gadget.getSpec().getUrl().toString());
}
protected ProxyUriBase(UriStatus status, Uri origUri) {
Added: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriBaseTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriBaseTest.java?rev=1079486&view=auto
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriBaseTest.java (added)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriBaseTest.java Tue Mar 8 18:58:50 2011
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.shindig.gadgets.uri;
+
+import static org.junit.Assert.assertEquals;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Guice;
+import com.google.inject.name.Names;
+import org.apache.shindig.common.uri.Uri;
+import org.apache.shindig.gadgets.Gadget;
+import org.apache.shindig.gadgets.GadgetContext;
+import org.apache.shindig.gadgets.spec.GadgetSpec;
+import org.apache.shindig.gadgets.spec.SpecParserException;
+
+import org.junit.Test;
+
+public class ProxyUriBaseTest {
+ final static Uri URI = Uri.parse("http://www.example.org/foo.html");
+
+ private Gadget createGadget(final String container) throws SpecParserException {
+ GadgetSpec spec = new GadgetSpec(URI,
+ "<Module><ModulePrefs author=\"a\" title=\"t\"></ModulePrefs>" +
+ "<Content></Content></Module>");
+ return new Gadget().setContext(new GadgetContext() {
+ @Override
+ public String getParameter(String name) {
+ return "0";
+ }
+
+ @Override
+ public String getContainer() {
+ return container;
+ }
+ }).setSpec(spec);
+ }
+
+ @Test
+ public void testWithSetAuthorityAsGadgetParam() throws Exception {
+ injectAuthorityAsGadgetParam(true);
+ ProxyUriBase proxyUriBase = new ProxyUriBase(createGadget(null));
+ assertEquals(URI.getAuthority(), proxyUriBase.getGadget());
+
+ injectAuthorityAsGadgetParam(false);
+ proxyUriBase = new ProxyUriBase(createGadget(null));
+ assertEquals(URI.toString(), proxyUriBase.getGadget());
+ }
+
+ private void injectAuthorityAsGadgetParam(final Boolean val) {
+ Guice.createInjector(new AbstractModule() {
+ @Override
+ protected void configure() {
+ bind(Boolean.class).annotatedWith(
+ Names.named("org.apache.shindig.gadgets.uri.setAuthorityAsGadgetParam"))
+ .toInstance(val);
+ requestStaticInjection(ProxyUriBase.class);
+ }
+ });
+ }
+}
Propchange: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/uri/ProxyUriBaseTest.java
------------------------------------------------------------------------------
svn:eol-style = native