Hi there,

I have a T5 app, that
 - is party protected with SSL (fronted with Apache)
 - also has some unprotected content not using SSL
 - is used to run more than one domain   ( www.example.com, www.example.co.uk )
 - can be completely browsed using https scheme, even the unprotected pages

I have this mostly working, but there is one problem when https browsing the 
site's pages which are not @Secure annotated: the links constructed have the 
form 
   http://www.example.com:443/page1

I tried to resolve this problem by contributing a service override for 
BaseURLSource, as described in http://tapestry.apache.org/https.html

However, the given implementation does not fit my needs, because I need access 
to the current Request, because I need to extract the hostname from it. I just 
cannot use a constant for the hostname, like in the example in the docs:

    public static void 
contributeServiceOverride(MappedConfiguration<Class,Object> configuration) {
        BaseURLSource source = new  BaseURLSource()
        {
            
              public String getBaseURL(boolean secure)
            {
                
                   String protocol = secure ? "https" : "http";
                   int  port = secure ? 8443 : 8080;
                
                   return String.format("%s://localhost:%d" , protocol, port);

            }
        };
        configuration.add(BaseURLSource.class, source);
    }



So here is my question: how do I construct an implementation of BaseURLSource 
that has access to the current Request?

I guess that's possible, but I am not familiar with Tapestry-IOC and googling 
for approaches only, I only found solutions that are somewhat "static" and do 
not depend on the current request.

Andy
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to