I know, this isn't really a problem for regular pages, they load using the
requested protocol, when not marked as secure. But when I create eventlinks
that updates zones, these don't work when they are generated with http and
the rest of the page is generated in https...

What I would like to do is to try some more on the BaseURLSource approach.
Anyone who's got any idea why this has no effect here? I copied and pasted
the code from the T5 docs and put in my Appmodule, and the contribute method
is called on server startup. I replaced the "localhost" url with an
obviously bad url, for testing, but nothing happens, all pages just load as
always, including eventlinks and actionlinks.

Inge

On Sun, Nov 16, 2008 at 9:44 PM, Carl Crowder <[EMAIL PROTECTED]>wrote:

> I don't know if you're aware, but if you create a href something like
>
> href="//something.com/page"
>
> then the current protocol is maintained. So if you were viewing the page
> at https://something.com the HREF would resolve to
> https://something.com/page and similarly with http. Unfortunately it
> requires using absolute URLs all the time.
>
> I'm not sure if that helps, but perhaps it could be used in fixing that
> issue.
>
> Carl
>
> Inge Solvoll wrote:
> > Yes, I might. This is a major blow for us, our customers choose freely
> > whether they want to use http or https, so the T5 way of doing things
> just
> > doesn't work for us...
> >
> > On Fri, Nov 14, 2008 at 9:28 PM, Jonathan Barker <
> > [EMAIL PROTECTED]> wrote:
> >
> >> You might want to vote for this:
> >>
> >> https://issues.apache.org/jira/browse/TAP5-167
> >>
> >>
> >>> -----Original Message-----
> >>> From: Inge Solvoll [mailto:[EMAIL PROTECTED]
> >>> Sent: Friday, November 14, 2008 15:10
> >>> To: Tapestry users
> >>> Subject: Re: [T5] Pick up https/http from request
> >>>
> >>> Thanks!
> >>>
> >>> I tried copying your code into my AppModule with some small
> >> modifications.
> >>> But the code only runs on server startup, not when I access a tapestry
> 5
> >>> page. I tried to add deliberate errors in the code, like naming the
> >> server
> >>> loooocalhost, but I never saw the results when accessing pages.
> >>>
> >>> Also, when I try to add "final HttpServletRequest request" as a
> parameter
> >>> to
> >>> the contributeAlias method, my T5.0.13 crashes complaining about
> service
> >>> recursion.
> >>>
> >>> What I need is for T5 to figure out that a user accesses a page with
> >>> either
> >>> http or https, and respond on the same protocol...
> >>>
> >>>
> >>> Regards
> >>> Inge
> >>>
> >>> On Fri, Nov 14, 2008 at 4:43 PM, Keith Bottner <[EMAIL PROTECTED]>
> >> wrote:
> >>>> I believe you might be able to use an alternation of a solution I used
> >>> for
> >>>> getting https to work properly between my development and production
> >>>> servers.
> >>>>
> >>>> public static void contributeAlias(Configuration<AliasContribution>
> >>>> configuration,
> >>>>  @Inject @Value("${"+SymbolConstants.PRODUCTION_MODE+"}" ) final
> String
> >>>> production
> >>>>  {
> >>>>                if (0 != production.compareToIgnoreCase("true"))
> >>>>                {
> >>>>              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(AliasContribution.create(BaseURLSource.class,
> >>> source));
> >>>>                }
> >>>>  }
> >>>>
> >>>> Somehow make this dependent on the user selection and return it
> >>>> accordingly.
> >>>>
> >>>> Not a quick solution but possible a direction to try!
> >>>>
> >>>> Keith
> >>>>
> >>>>
> >>>> On Nov 14, 2008, at 7:18 AM, Inge Solvoll wrote:
> >>>>
> >>>>  Hi!
> >>>>> My web application is large and consists of Struts, T4 and T5 pages.
> >> In
> >>>>> Struts and T4, I use the current http request to figure out whether
> to
> >>> use
> >>>>> https or not. Users can choose if they want to log in using https or
> >>> not.
> >>>>> The chosen protocol is used on all pages after login.
> >>>>>
> >>>>> In T5, this is either a global static setting, or a static setting
> per
> >>>>> page.
> >>>>> Is there a service or something I can override to implement my own
> >>>>> "protocol
> >>>>> builder"? Something like this:
> >>>>>
> >>>>> public class HttpProtocolBuilder {
> >>>>>  public HttpProtocolBuilder (final HttpServletRequest request) {
> >>>>>   this.request = request
> >>>>>  }
> >>>>>
> >>>>>  public String getProtocol() {
> >>>>>   if (request.isSecure()) {
> >>>>>     return "https";
> >>>>>   }
> >>>>>   else {
> >>>>>    return "http";
> >>>>>    }
> >>>>> }
> >>>>>
> >>>>> Regards
> >>>>>
> >>>>> Inge
> >>>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>
> >>>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to