Paul it would be good if we could update shindig.apache.org with this new process.
-Ryan Email: [email protected] Phone: 978-899-3041 developerWorks Profile From: Paul Lindner <[email protected]> To: [email protected], Date: 05/16/2011 11:33 AM Subject: Re: dev-remailer still working? It's going to be easier to use reviews.apache.org instead of figuring out why dev-remailer is broken. I just sent over a patch without any hassle, plus there's a post-review command line tool that works really well. Try: post-review --target-groups=shindig On Mon, May 16, 2011 at 7:28 AM, Ryan J Baxter <[email protected]> wrote: > +1 Matt, last I head this was not working. > > -Ryan > > Email: [email protected] > Phone: 978-899-3041 > developerWorks Profile > > > > From: Matthew G Marum/Raleigh/IBM@IBMUS > To: [email protected], > Date: 05/16/2011 09:26 AM > Subject: dev-remailer still working? > > > > fwiw, I also don't get notes from dev-remailer. Are we sure that alias is > still working? I don't have a good way to find out about outstanding > patches unless I'm added as a reviewer or they are brought up here on the > mailing list. > > Matt Marum > > Li Xu---05/15/2011 11:57:47 PM---Hi, John Thanks for the comments. Both of > your concerns makes sense to me. > > > From: > > Li Xu/Raleigh/IBM@IBMUS > > To: > > [email protected] > > Date: > > 05/15/2011 11:57 PM > > Subject: > > Re: svn commit: r1102446 - in /shindig/trunk: config/ > content/samplecontainer/examples/commoncontainer/ > java/common/src/main/java/org/apache/shindig/common/servlet/ > java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ > java/server/src/main/webap > > > > Hi, John > Thanks for the comments. Both of your concerns makes sense to me. > Using system.properties to pass along information is not ideal. It's added > because we experienced problem that threadLocal variable is null in forked > threads. It will be great if the solution can hold information with forked > threads. > I agree there may be some use case that would require a fixed set of host > and port. Settings in web.xml sounds ideal. JVM settings limits one > instance per JVM...loading from web.xml probably makes more sense. So the > logic will be like this? 1. some fixed setting ( eg. web.xml or other ) 2. > if #1 is not set, always fall back to value originated from ServletRequest > 3. fallback testing server/port like jetty host/port > what do you think? > > I do like the idea about solving the values in ContainerConfig. In fact I > did look at that possibility a little before. The problem I encountered is > that JsonContainerConfig maybe already built before servlet request comes > in. Also it doesn't have the nature to allow modification( could be wrong, > still on the path to understand all these...) ... it will be great if the > solution could solve this. > > thanks, > li > > > > > > > John Hjelmstad ---05/14/2011 01:33:11 PM---Hi Li, Comments inline. > > From: > > John Hjelmstad <[email protected]> > > To: > > [email protected] > > Date: > > 05/14/2011 01:33 PM > > Subject: > > Re: svn commit: r1102446 - in /shindig/trunk: config/ > content/samplecontainer/examples/commoncontainer/ > java/common/src/main/java/org/apache/shindig/common/servlet/ > java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ > java/server/src/main/webap > > > > Hi Li, > > Comments inline. > > On Fri, May 13, 2011 at 3:26 PM, Li Xu <[email protected]> wrote: > > > hello, > > I wish we see your comments before committing. A Provider pattern sounds > > nice. I have a couple of questions regarding the patch under 4527056. > > > Agree about having been able to comment earlier. I suspect dev-remailer@ > no > longer sends to my account, or perhaps it somehow got spam-filtered. Will > check. > > > > > The patch submitted under r1102446 will always take host/port from > servlet > > request, thus it won't take static value setting up in web.xml. We > probably > > missed some use case here, is there any reason for not taking host/port > from > > ServletRequest? I checked the new patch submited under 4527056, it still > > requires setting up shindig.host/shindig.port in web.xml or as jvm > setting. > > it will be great help if you could please explain a little. > > > The logic of your patch seemed fine to me, particularly for the default > use > case. My concern was over A) the code's side effects (System.setProperty > in > particular), and B) the fact that there's no *other* way to set this > information. > > Within our installation, we have a separate means for obtaining this > information. It's a similar implementation, but one that picks up > significantly more information. It sets up a RequestContext object with > various items like request type, query params, path info, some derived > contextual data, and so on. It propagates this information along forked > threads as well and is used in various ways. The underlying impl is > similar > - a set of Filters that contribute to a carefully-managed ThreadLocal - > but > the main point is that we'd prefer to be able to inject Host (et al) using > it rather than a parallel method. > > Following on to my comments from before, IMO the best place for this logic > is in ContainerConfig. Putting %host% substitution logic there means that > all downstream classes get it without code modification. > > Admittedly, ContainerConfig is a little awkward to augment today. It's > done > through subclassing. I'd suggesting introducing an Injected list of > ConfigModifiers that can perform these edits. WDYT? > > --j > > > > > thanks, > > li > > > > > > > > > > [image: Inactive hide details for John Hjelmstad ---05/13/2011 04:15:37 > > PM---Hi all, This CL unfortunately suffers from a lot of static]John > > Hjelmstad ---05/13/2011 04:15:37 PM---Hi all, This CL unfortunately > suffers > > from a lot of static cling. There's no way to > > > > > > From: > > John Hjelmstad <[email protected]> > > To: > > [email protected] > > Date: > > 05/13/2011 04:15 PM > > Subject: > > Re: svn commit: r1102446 - in /shindig/trunk: config/ > > content/samplecontainer/examples/commoncontainer/ > > java/common/src/main/java/org/apache/shindig/common/servlet/ > > java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/ > > java/server/src/main/webap > > ------------------------------ > > > > > > > > Hi all, > > > > This CL unfortunately suffers from a lot of static cling. There's no way > to > > customize this behavior, and the default behavior ends up having odd > side > > effects like getting and setting system properties, many of which are > > irrelevant, and tightly monitored, in production environments. > > > > I've temporarily pulled this logic out into a provider pattern: > > http://codereview.appspot.com/4527056/ > > > > ...so that users aren't forced into this behavior. > > > > This said, I actually feel that the better solution for this is to put > > host-substitution logic into ContainerConfig. All these config values > come > > from there anyway. > > > > --j > > > > On Thu, May 12, 2011 at 1:00 PM, <[email protected]> wrote: > > > > > Author: woodser > > > Date: Thu May 12 20:00:18 2011 > > > New Revision: 1102446 > > > > > > URL: http://svn.apache.org/viewvc?rev=1102446&view=rev > > > Log: > > > Committing Li Xu's patch to detect host & port from > HttpServletRequest. > > > > > > Codereview: http://codereview.appspot.com/4534049/ > > > JIRA: https://issues.apache.org/jira/browse/SHINDIG-1534 > > > > > > Added: > > > > > > > > > > shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/HostFilter.java > > > > > > > > > > shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/ServletRequestContext.java > > > Modified: > > > shindig/trunk/config/container.js > > > > > > > > > > shindig/trunk/content/samplecontainer/examples/commoncontainer/gadgetCollections.json > > > > > > > > > > shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js > > > > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java > > > > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java > > > > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java > > > > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java > > > shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml > > > > > > Modified: shindig/trunk/config/container.js > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/config/container.js?rev=1102446&r1=1102445&r2=1102446&view=diff > > > > > > > > > > > ============================================================================== > > > --- shindig/trunk/config/container.js (original) > > > +++ shindig/trunk/config/container.js Thu May 12 20:00:18 2011 > > > @@ -103,10 +103,13 @@ > > > //"gadgets.securityTokenKeyFile" : "/path/to/key/file.txt", > > > > > > // URI for the default shindig test instance. > > > -"defaultShindigTestHost": "http://${SERVER_HOST}:${SERVER_PORT}", > > > +//"defaultShindigTestHost": "http://${SERVER_HOST}:${SERVER_PORT}", > > > +"defaultShindigTestHost":"http://%host%", > > > + > > > > > > // Authority (host:port without scheme) for the proxy and concat > > servlets. > > > -"defaultShindigProxyConcatAuthority": > "${SERVER_HOST}:${SERVER_PORT}", > > > +//"defaultShindigProxyConcatAuthority": > "${SERVER_HOST}:${SERVER_PORT}", > > > +"defaultShindigProxyConcatAuthority":"%host%", > > > > > > // OS 2.0 Gadget DOCTYPE: used in Gadgets with @specificationVersion > 2.0 > > > or greater and > > > // quirksmode on Gadget has not been set. > > > > > > Modified: > > > > > > > shindig/trunk/content/samplecontainer/examples/commoncontainer/gadgetCollections.json > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/commoncontainer/gadgetCollections.json?rev=1102446&r1=1102445&r2=1102446&view=diff > > > > > > > > > > > ============================================================================== > > > --- > > > > > > > shindig/trunk/content/samplecontainer/examples/commoncontainer/gadgetCollections.json > > > (original) > > > +++ > > > > > > > shindig/trunk/content/samplecontainer/examples/commoncontainer/gadgetCollections.json > > > Thu May 12 20:00:18 2011 > > > @@ -4,22 +4,22 @@ > > > "name": "Publish Subscribe Demo", > > > "Description": "This is a sample pub/sub demo showcasing > the > > > pubsub-2 feature", > > > "apps" : [ > > > - {"name": "publisher", "url": " > > > http://localhost:8080/container/sample-pubsub-2-publisher.xml"}, > > > - {"name": "subscriber", "url": " > > > http://localhost:8080/container/sample-pubsub-2-subscriber.xml"} > > > + {"name": "publisher", "url": > > > "/container/sample-pubsub-2-publisher.xml"}, > > > + {"name": "subscriber", "url": > > > "/container/sample-pubsub-2-subscriber.xml"} > > > ] > > > }, > > > { > > > "name": "Activity Streams Sample", > > > "Description": "Simple gadget to test base ActivityStreams > > > implementation in features", > > > "apps" : [ > > > - {"name": "ActivityStreams Sample", "url": " > > > > > > > http://localhost:8080/samplecontainer/examples/ActivityStreams/ActivityStreamGadget.xml > > > > "} > > > + {"name": "ActivityStreams Sample", "url": > > > "/samplecontainer/examples/ActivityStreams/ActivityStreamGadget.xml"} > > > ] > > > }, > > > { > > > "name": "Sample Media Items Gadget", > > > "Description": "This is a sample pub/sub demo showcasing > the > > > pubsub-2 feature", > > > "apps" : [ > > > - {"name": "publisher", "url": " > > > http://localhost:8080/samplecontainer/examples/media/Media.xml"} > > > + {"name": "publisher", "url": > > > "/samplecontainer/examples/media/Media.xml"} > > > ] > > > }, > > > { > > > > > > Modified: > > > > > > > shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js?rev=1102446&r1=1102445&r2=1102446&view=diff > > > > > > > > > > > ============================================================================== > > > --- > > > > > > > shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js > > > (original) > > > +++ > > > > > > > shindig/trunk/content/samplecontainer/examples/commoncontainer/viewController.js > > > Thu May 12 20:00:18 2011 > > > @@ -45,7 +45,11 @@ $(function() { > > > $.each(data.collections, function(i,data){ > > > var optionVal = []; > > > $.each(data.apps, function(i,data){ > > > - optionVal.push(data.url); > > > + if (data.url.indexOf("http") < 0){ > > > + > > > optionVal.push(location.protocol+"//"+location.host+data.url); > > > + }else{ > > > + optionVal.push(data.url); > > > + } > > > }); > > > $('#gadgetCollection').append('<option > > > value="'+ optionVal.toString() + '">' + data.name +'</option>'); > > > }); > > > > > > Added: > > > > > > > shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/HostFilter.java > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/HostFilter.java?rev=1102446&view=auto > > > > > > > > > > > ============================================================================== > > > --- > > > > > > > shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/HostFilter.java > > > (added) > > > +++ > > > > > > > shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/HostFilter.java > > > Thu May 12 20:00:18 2011 > > > @@ -0,0 +1,50 @@ > > > +/* > > > + * 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.common.servlet; > > > + > > > +import java.io.IOException; > > > + > > > +import javax.servlet.Filter; > > > +import javax.servlet.FilterConfig; > > > +import javax.servlet.FilterChain; > > > +import javax.servlet.ServletContext; > > > +import javax.servlet.ServletException; > > > +import javax.servlet.ServletRequest; > > > +import javax.servlet.ServletResponse; > > > + > > > + > > > + > > > + > > > +/** > > > + * A Filter that can cache ServletRequest information in ThreadLocal > > > variable > > > + */ > > > +public class HostFilter implements Filter { > > > + > > > + public void doFilter(ServletRequest request, ServletResponse > response, > > > FilterChain chain) throws IOException, ServletException { > > > + ServletRequestContext.setRequestInfo(request); > > > + chain.doFilter(request, response); > > > + } > > > + > > > + public void destroy() { > > > + } > > > + > > > + public void init(FilterConfig arg0) throws ServletException { > > > + } > > > +} > > > > > > Added: > > > > > > > shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/ServletRequestContext.java > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/ServletRequestContext.java?rev=1102446&view=auto > > > > > > > > > > > ============================================================================== > > > --- > > > > > > > shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/ServletRequestContext.java > > > (added) > > > +++ > > > > > > > shindig/trunk/java/common/src/main/java/org/apache/shindig/common/servlet/ServletRequestContext.java > > > Thu May 12 20:00:18 2011 > > > @@ -0,0 +1,105 @@ > > > +/* > > > + * 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.common.servlet; > > > + > > > +import javax.servlet.ServletRequest; > > > + > > > +public class ServletRequestContext { > > > + > > > + public static void setRequestInfo(ServletRequest req) { > > > + String auth = req.getServerName() + ":" + req.getServerPort(); > > > + String fullAuth = req.getScheme() + "://" + auth; > > > + authority.set(auth); > > > + fullAuthority.set(fullAuth); > > > + > > > + System.setProperty("authority",auth); > > > + System.setProperty("fullAuthority", fullAuth); > > > + } > > > + > > > + /** > > > + * A Thread Local holder for authority -- host + port > > > + */ > > > + private static ThreadLocal<String> authority = new > > > ThreadLocal<String>(); > > > + > > > + /** > > > + * A Thread Local holder for full authority -- scheme + host + port > > > + */ > > > + private static ThreadLocal<String> fullAuthority = new > > > ThreadLocal<String>(); > > > + > > > + > > > + public static String getAuthority() { > > > + > > > + String retVal = authority.get(); > > > + if (retVal == null) { > > > + retVal = System.getProperty("authority"); > > > + if (retVal == null){ > > > + retVal = getDefaultAuthority(); > > > + } > > > + } > > > + return retVal; > > > + } > > > + > > > + private static String getDefaultAuthority() { > > > + > > > + String retVal = System.getProperty("defaultAuthority"); > > > + if (retVal == null){ > > > + retVal = getServerHostname()+":"+getServerPort(); > > > + System.setProperty("defaultAuthority", retVal); > > > + } > > > + return retVal; > > > + > > > + } > > > + > > > + public static String getFullAuthority() { > > > + > > > + String retVal = fullAuthority.get(); > > > + if (retVal == null) { > > > + retVal = System.getProperty("fullAuthority"); > > > + if (retVal == null){ > > > + retVal = getDefaultFullAuthority(); > > > + } > > > + } > > > + return retVal; > > > + > > > + } > > > + > > > + private static String getDefaultFullAuthority() { > > > + > > > + String retVal = System.getProperty("defaultFullAuthority"); > > > + if ( retVal != null ){ > > > + retVal = "http://"+getServerHostname()+":"+getServerPort(); > > > + System.setProperty("defaultFullAuthority", retVal); > > > + } > > > + return retVal; > > > + > > > + } > > > + > > > + private static String getServerPort() { > > > + return System.getProperty("shindig.port") != null ? > > > System.getProperty("shindig.port") : > > > + System.getProperty("jetty.port") != null ? > > > System.getProperty("jetty.port") : > > > + "8080"; > > > + } > > > + > > > + private static String getServerHostname() { > > > + return System.getProperty("shindig.host") != null ? > > > System.getProperty("shindig.host") : > > > + System.getProperty("jetty.host") != null ? > > > System.getProperty("jetty.host") : > > > + "localhost"; > > > + } > > > + > > > +} > > > > > > Modified: > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java?rev=1102446&r1=1102445&r2=1102446&view=diff > > > > > > > > > > > ============================================================================== > > > --- > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java > > > (original) > > > +++ > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultConcatUriManager.java > > > Thu May 12 20:00:18 2011 > > > @@ -24,6 +24,7 @@ import com.google.inject.Inject; > > > import com.google.inject.name.Named; > > > > > > import org.apache.commons.lang.StringEscapeUtils; > > > +import org.apache.shindig.common.servlet.ServletRequestContext; > > > import org.apache.shindig.common.uri.Uri; > > > import org.apache.shindig.common.uri.UriBuilder; > > > import org.apache.shindig.config.ContainerConfig; > > > @@ -222,6 +223,8 @@ public class DefaultConcatUriManager imp > > > throw new RuntimeException( > > > "Missing required config '" + key + "' for container: " + > > > container); > > > } > > > + val = val.replace("%host%", > ServletRequestContext.getAuthority()); > > > + > > > return val; > > > } > > > > > > > > > Modified: > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java?rev=1102446&r1=1102445&r2=1102446&view=diff > > > > > > > > > > > ============================================================================== > > > --- > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java > > > (original) > > > +++ > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultIframeUriManager.java > > > Thu May 12 20:00:18 2011 > > > @@ -27,6 +27,7 @@ import org.apache.commons.lang.StringUti > > > import org.apache.shindig.auth.SecurityToken; > > > import org.apache.shindig.auth.SecurityTokenCodec; > > > import org.apache.shindig.auth.SecurityTokenException; > > > +import org.apache.shindig.common.servlet.ServletRequestContext; > > > import org.apache.shindig.common.uri.Uri; > > > import org.apache.shindig.common.uri.UriBuilder; > > > import org.apache.shindig.config.ContainerConfig; > > > @@ -342,10 +343,13 @@ public class DefaultIframeUriManager imp > > > > > > private String getReqVal(String container, String key) { > > > String val = config.getString(container, key); > > > + > > > if (val == null) { > > > throw new RuntimeException("Missing required container config > > param, > > > key: " > > > + key + ", container: " + container); > > > } > > > + val = val.replace("%host%", > ServletRequestContext.getAuthority()); > > > + > > > return val; > > > } > > > > > > > > > Modified: > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java?rev=1102446&r1=1102445&r2=1102446&view=diff > > > > > > > > > > > ============================================================================== > > > --- > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java > > > (original) > > > +++ > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultJsUriManager.java > > > Thu May 12 20:00:18 2011 > > > @@ -23,6 +23,7 @@ import com.google.common.base.Splitter; > > > import com.google.common.collect.ImmutableList; > > > import com.google.inject.Inject; > > > > > > +import org.apache.shindig.common.servlet.ServletRequestContext; > > > import org.apache.shindig.common.uri.Uri; > > > import org.apache.shindig.common.uri.UriBuilder; > > > import org.apache.shindig.config.ContainerConfig; > > > @@ -222,6 +223,7 @@ public class DefaultJsUriManager impleme > > > "' missing config for required param: " + key); > > > } > > > } > > > + ret = ret.replace("%host%", > ServletRequestContext.getAuthority()); > > > return ret; > > > } > > > > > > > > > Modified: > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java?rev=1102446&r1=1102445&r2=1102446&view=diff > > > > > > > > > > > ============================================================================== > > > --- > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java > > > (original) > > > +++ > > > > > > > shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/DefaultProxyUriManager.java > > > Thu May 12 20:00:18 2011 > > > @@ -25,6 +25,7 @@ import com.google.inject.Inject; > > > import com.google.inject.name.Named; > > > > > > import org.apache.commons.lang.StringUtils; > > > +import org.apache.shindig.common.servlet.ServletRequestContext; > > > import org.apache.shindig.common.uri.Uri; > > > import org.apache.shindig.common.uri.UriBuilder; > > > import org.apache.shindig.common.util.Utf8UrlCoder; > > > @@ -276,6 +277,7 @@ public class DefaultProxyUriManager impl > > > throw new RuntimeException("Missing required container config > key: > > " > > > + key + " for " + > > > "container: " + container); > > > } > > > + val = val.replace("%host%", > ServletRequestContext.getAuthority()); > > > return val; > > > } > > > } > > > > > > Modified: shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml > > > URL: > > > > > > > http://svn.apache.org/viewvc/shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml?rev=1102446&r1=1102445&r2=1102446&view=diff > > > > > > > > > > > ============================================================================== > > > --- shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml > (original) > > > +++ shindig/trunk/java/server/src/main/webapp/WEB-INF/web.xml Thu May > 12 > > > 20:00:18 2011 > > > @@ -59,14 +59,24 @@ > > > <context-param> > > > <param-name>system.properties</param-name> > > > <param-value> > > > - shindig.host=localhost > > > - > > > - aKey=/shindig/gadgets/proxy?container=default&url= > > > - shindig.port= > > > - > > > + aKey=/shindig/gadgets/proxy?container=default&url= > > > </param-value> > > > </context-param> > > > - > > > + > > > + <filter> > > > + <filter-name>hostFilter</filter-name> > > > + > > > > > <filter-class>org.apache.shindig.com > mon.servlet.HostFilter</filter-class> > > > + </filter> > > > + <filter-mapping> > > > + <filter-name>hostFilter</filter-name> > > > + <url-pattern>/gadgets/ifr</url-pattern> > > > + <url-pattern>/gadgets/js/*</url-pattern> > > > + <url-pattern>/gadgets/proxy/*</url-pattern> > > > + <url-pattern>/gadgets/concat</url-pattern> > > > + <url-pattern>/rpc/*</url-pattern> > > > + <url-pattern>/rest/*</url-pattern> > > > + </filter-mapping> > > > + > > > <filter> > > > <filter-name>ShiroFilter</filter-name> > > > > > > > <filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class> > > > > > > > > > > > > > > > > > > > > > -- Paul Lindner -- [email protected] -- linkedin.com/in/plindner
