Doing more investigations I found that the problem is gathering the
extended browser info. Omitting that, BrowserInfoPage is stateless.

Sorry for the noise.

Regards

Alberto

On Thu, 2019-02-28 at 11:06 +0100, Alberto Brosich wrote:
> On Thu, 2019-02-28 at 01:50 -0800, Bas Gooren wrote:
> > Hi!
> > 
> > We have many stateless pages in our apps (public-facing, indexed,
> > e-
> > commerce websites), and use the default render strategy provided by
> > wicket.
> > When a page is stateless, wicket does not redirect.
> > 
> > Are you sure your pages are stateless?
> 
> Yes, I am sure.
> The problem could be that I'm using ClientInfo to collect info about
> clients for analytics purposes. It uses BrowserInfoPage that is
> stateful. For that reason I checked it in isOnePassRender() method.
> 
> Is there a way to convert BrowserInfoPage to stateless?
> For example every page I create has a form to submit a search but I
> used a StatelessForm for that, therefore if a page does not contain
> any
> other stateful components or behaviors, it is stateless.
> 
> Best regards
> 
> Alberto
> > Met vriendelijke groet,
> > Kind regards,
> > 
> > Bas Gooren
> > 
> > Op 28 februari 2019 bij 10:48:25, Alberto Brosich (
> > abros...@inogs.it)
> > schreef:
> > > Hello, 
> > > 
> > > I didn't find any useful information about that in the
> > > documentation. 
> > > 
> > > For some reasons (e.g. search engine bots or clients unable to
> > > follow 
> > > redirects) on some pages I would like to have an http 200
> > > response.
> > > By 
> > > default Wicket uses REDIRECT_TO_BUFFER render strategy that send
> > > a
> > > 302 
> > > redirect first. 
> > > 
> > > Which is the best practice for use ONE_PASS_RENDER strategy? 
> > > 
> > > Is it reasonable to adopt ONE_PASS_RENDER for all stateless pages
> > > or is 
> > > it better to change the render strategy only for specific pages? 
> > > 
> > > Is setPageRendererProvider() the good place where to handle
> > > that? 
> > > 
> > > For example: 
> > > 
> > > setPageRendererProvider( new IPageRendererProvider() { 
> > > 
> > > @Override 
> > > public PageRenderer apply(RenderPageRequestHandler handler) { 
> > > br/> return new WebPageRenderer(handler) {{ 
> > > br/> @@Override 
> > > protected boolean isOnePassRender() { 
> > > br/> IRequestablePage page = 
> > > getRenderPageRequestHandler().getPage(); 
> > > 
> > > return page.isPageStateless() || 
> > > page instanceof BrowserInfoPage || super.isOnePassRender(); 
> > > } 
> > > }; 
> > > } 
> > > }); 
> > > 
> > > I' working with wicket version 8.3.0. 
> > > 
> > > Best regards 
> > > 
> > > Alberto 
> > > 
> > > 
> > > -----------------------------------------------------------------
> > > ---- 
> > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org 
> > > For additional commands, e-mail: users-h...@wicket.apache.org 
> > > 


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

Reply via email to