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&amp;url=
> > > -       shindig.port=
> > > -
> > > +       aKey=/shindig/gadgets/proxy?container=default&amp;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

Reply via email to