nvm I got it, thanks guys. Also, is looking at the port the efficient way of doing this?
@Override public boolean dispatch(Request request, final Response response) throws IOException { int port = request.getLocalPort(); PageRenderRequestParameters parameters = linkEncoder.decodePageRenderRequest(request); if (port == 8080) { Link link = linkSource.createPageRenderLinkWithContext(parameters.getLogicalPageName(), parameters.getActivationContext()); link.setSecurity(LinkSecurity.SECURE); response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader("Location", response.encodeRedirectURL(link.toAbsoluteURI())); return true; } return false; } On Tue, Oct 28, 2014 at 3:10 PM, George Christman <gchrist...@cardaddy.com> wrote: > Hi Kalle, would you still be setting the status header in the dispatcher? > > On Tue, Oct 28, 2014 at 2:30 PM, Kalle Korhonen < > kalle.o.korho...@gmail.com> wrote: > >> The problem is that the status header is rewritten - sendRedirect() >> implicitly sets 302 by the spec. Set the headers yourself and flush to >> commit: >> >> >> servletResponse.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); >> servletResponse.setHeader("Location", >> servletResponse.encodeRedirectURL(requestUri)); >> servletResponse.flushBuffer(); >> >> Kalle >> >> >> On Tue, Oct 28, 2014 at 11:18 AM, George Christman < >> gchrist...@cardaddy.com> >> wrote: >> >> > I found componentRequestHandler in some tapestry code and when I removed >> > it, no page. I guess I just needed to return false ;) >> > >> > Yup the code is definitely running, I can remove Secure_Page and the >> page >> > redirects without issue, however no matter what I setStatus too, it >> > continues to provide a 302 response. If I sendError to a 301, it will >> > redirect the browser to a 301 error like it should. Is setStatus the >> > correct method to use? >> > >> > http://localhost:8080/etss/login >> > >> > GET /etss/login HTTP/1.1 >> > Host: localhost:8080 >> > User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 >> > Firefox/32.0 >> > Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 >> > Accept-Language: en-US,en;q=0.5 >> > Accept-Encoding: gzip, deflate >> > DNT: 1 >> > Cookie: shiroSavedRequest=/etss/ >> > Connection: keep-alive >> > >> > HTTP/1.1 302 Found >> > Location: https://localhost/etss/login >> > Content-Length: 0 >> > Server: Jetty(8.1.14.v20131031) >> > >> > >> > On Tue, Oct 28, 2014 at 1:42 PM, Thiago H de Paula Figueiredo < >> > thiag...@gmail.com> wrote: >> > >> > > On Tue, 28 Oct 2014 15:11:13 -0200, George Christman < >> > > gchrist...@cardaddy.com> wrote: >> > > >> > > Hi Thiago, >> > >> >> > > >> > > Hi! >> > > >> > > I'm assuming you mean something like this, but I'm not seeing >> > >> the 301 response. Could you take a look and see if you can spot what >> I'm >> > >> doing wrong. Below is the response as well. Thank you. >> > >> >> > > >> > > Are you sure your code was actually called? >> > > >> > > >> > >> >> > >> public class AccessController implements Dispatcher { >> > >> >> > >> @Override >> > >> public boolean dispatch(Request request, final Response response) >> > >> throws IOException { >> > >> int port = request.getLocalPort(); >> > >> >> > >> PageRenderRequestParameters parameters = >> > >> linkEncoder.decodePageRenderRequest(request); >> > >> >> > >> if (port == 80) { >> > >> Link link = >> > >> linkSource.createPageRenderLinkWithContext(parameters. >> > >> getLogicalPageName(), >> > >> parameters.getActivationContext()); >> > >> >> > response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); >> > >> link.setSecurity(LinkSecurity.SECURE); >> > >> response.sendRedirect(link.toAbsoluteURI()); >> > >> return true; >> > >> } >> > >> >> > >> componentRequestHandler.handlePageRender(parameters); >> > >> return true; >> > >> >> > > >> > > You should return false when a Dispatcher didn't provide a response, >> so >> > > the last line should return false, otherwise no page will ever be >> > rendered. >> > > I'm not sure why you've added the componentRequestHandler line. >> > > >> > > >> > > -- >> > > Thiago H. de Paula Figueiredo >> > > Tapestry, Java and Hibernate consultant and developer >> > > http://machina.com.br >> > > >> > > --------------------------------------------------------------------- >> > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> > > For additional commands, e-mail: users-h...@tapestry.apache.org >> > > >> > > >> > >> > >> > -- >> > George Christman >> > www.CarDaddy.com >> > P.O. Box 735 >> > Johnstown, New York >> > >> > > > > -- > George Christman > www.CarDaddy.com > P.O. Box 735 > Johnstown, New York > > -- George Christman www.CarDaddy.com P.O. Box 735 Johnstown, New York