You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Boris Goldowsky <bg...@cast.org> on 2018/02/22 16:55:28 UTC

Redirect based on a header?

I’m not sure if there is a wicket-y way to do this.

In the environment where I’m deploying my wicket app (google cloud + kubernetes + docker + tomcat), a request that came in to the load balancer under insecure http is forwarded to wicket, and identified by the request containing an “x-forwarded-proto” header with the value “http”.  I need to redirect such requests to the https version of the site.

Is there a way in wicket to look at a request header and send a redirect before any of the usual URL processing happens?

Thanks!
Boris



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Redirect based on a header?

Posted by Boris Goldowsky <bg...@cast.org>.
Thank you both for sending me looking in useful directions.
In case it is useful to others, here is what I ended up implementing:

getRootRequestMapperAsCompound().add(
	new IRequestMapper() {
		public IRequestHandler mapRequest(Request request) {
			if (request instanceof WebRequest) {
				if ("http".equals(((WebRequest) request).getHeader("x-forwarded-proto")))
					return new RedirectRequestHandler(HTTPS_URL, 301);
			}
			return null;
		}

		public int getCompatibilityScore(Request request) {
			return 1;
		}

		public Url mapHandler(IRequestHandler requestHandler) {
			return null;
		}
	});



Boris


On 2/23/18, 10:56 AM, "Andrea Del Bene" <an...@gmail.com> wrote:

    You might also find useful having a look at request cycle listener 
    (class AbstractRequestCycleListener) which can be adopted to redirect 
    the requests to https.
    
    
    On 22/02/2018 23:35, Martin Grigorov wrote:
    > Hi,
    >
    > Does it have to be "with Wicket" ?
    > You can use custom Servlet Filter that is executed before WicketFilter.
    >
    > Martin Grigorov
    > Wicket Training and Consulting
    > Looking for a remote position with Wicket ? Contact me!
    > https://twitter.com/mtgrigorov
    >
    >
    > On Thu, Feb 22, 2018 at 5:55 PM, Boris Goldowsky <bg...@cast.org>
    > wrote:
    >
    >> I’m not sure if there is a wicket-y way to do this.
    >>
    >> In the environment where I’m deploying my wicket app (google cloud +
    >> kubernetes + docker + tomcat), a request that came in to the load balancer
    >> under insecure http is forwarded to wicket, and identified by the request
    >> containing an “x-forwarded-proto” header with the value “http”.  I need to
    >> redirect such requests to the https version of the site.
    >>
    >> Is there a way in wicket to look at a request header and send a redirect
    >> before any of the usual URL processing happens?
    >>
    >> Thanks!
    >> Boris
    >>
    >>
    >>
    >> ---------------------------------------------------------------------
    >> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
    >> For additional commands, e-mail: users-help@wicket.apache.org
    >>
    >>
    
    
    ---------------------------------------------------------------------
    To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
    For additional commands, e-mail: users-help@wicket.apache.org
    
    


Re: Redirect based on a header?

Posted by Andrea Del Bene <an...@gmail.com>.
You might also find useful having a look at request cycle listener 
(class AbstractRequestCycleListener) which can be adopted to redirect 
the requests to https.


On 22/02/2018 23:35, Martin Grigorov wrote:
> Hi,
>
> Does it have to be "with Wicket" ?
> You can use custom Servlet Filter that is executed before WicketFilter.
>
> Martin Grigorov
> Wicket Training and Consulting
> Looking for a remote position with Wicket ? Contact me!
> https://twitter.com/mtgrigorov
>
>
> On Thu, Feb 22, 2018 at 5:55 PM, Boris Goldowsky <bg...@cast.org>
> wrote:
>
>> I’m not sure if there is a wicket-y way to do this.
>>
>> In the environment where I’m deploying my wicket app (google cloud +
>> kubernetes + docker + tomcat), a request that came in to the load balancer
>> under insecure http is forwarded to wicket, and identified by the request
>> containing an “x-forwarded-proto” header with the value “http”.  I need to
>> redirect such requests to the https version of the site.
>>
>> Is there a way in wicket to look at a request header and send a redirect
>> before any of the usual URL processing happens?
>>
>> Thanks!
>> Boris
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Redirect based on a header?

Posted by Martin Grigorov <mg...@apache.org>.
Hi,

Does it have to be "with Wicket" ?
You can use custom Servlet Filter that is executed before WicketFilter.

Martin Grigorov
Wicket Training and Consulting
Looking for a remote position with Wicket ? Contact me!
https://twitter.com/mtgrigorov


On Thu, Feb 22, 2018 at 5:55 PM, Boris Goldowsky <bg...@cast.org>
wrote:

> I’m not sure if there is a wicket-y way to do this.
>
> In the environment where I’m deploying my wicket app (google cloud +
> kubernetes + docker + tomcat), a request that came in to the load balancer
> under insecure http is forwarded to wicket, and identified by the request
> containing an “x-forwarded-proto” header with the value “http”.  I need to
> redirect such requests to the https version of the site.
>
> Is there a way in wicket to look at a request header and send a redirect
> before any of the usual URL processing happens?
>
> Thanks!
> Boris
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>