[jira] Commented: (WICKET-847) setResponsePage redirects to wrong url
[ https://issues.apache.org/jira/browse/WICKET-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520217 ] Alastair Maw commented on WICKET-847: - A workaround for this is probably to mount your homepage in your application init() - mountBookmarkablePage(MyHomePage.class, "/home"); Will look into this, though. > setResponsePage redirects to wrong url > -- > > Key: WICKET-847 > URL: https://issues.apache.org/jira/browse/WICKET-847 > Project: Wicket > Issue Type: Bug > Components: wicket >Affects Versions: 1.3.0-beta2 >Reporter: Andrew Klochkov >Assignee: Alastair Maw > Fix For: 1.3.0-rc1 > > Attachments: wicket-quickstart.tar.gz > > > When I do setResponsePage(MyHomePage.class) IE tries to show me > "my.site.com/./" url and gets 404 response. > Firefox just shows "my.site.com" without any troubles. I'm using wicket > 1.3-beta2 and WicketFilter mapped to /*. > It's being reproduced under tomcat only, jetty works fine. My tomcat version > is 5.5.17. > Quickstart project which reproduces the bug is attached. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-847) setResponsePage redirects to wrong url
[ https://issues.apache.org/jira/browse/WICKET-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12522187 ] Andrew Klochkov commented on WICKET-847: The evil code is in the WebRequestCodingStrategy class: // We need to special-case links to the home page if we're at the // same level. if (result.length() == 0) { result = "./"; } A workaround is to override newWebResponse in Application subclass to prevent such redirects protected WebResponse newWebResponse(HttpServletResponse servletResponse) { return new BufferedWebResponse(servletResponse) { public CharSequence encodeURL(CharSequence url) { return "./".equals(url) ? "" : super.encodeURL(url); } }; } > setResponsePage redirects to wrong url > -- > > Key: WICKET-847 > URL: https://issues.apache.org/jira/browse/WICKET-847 > Project: Wicket > Issue Type: Bug > Components: wicket >Affects Versions: 1.3.0-beta2 >Reporter: Andrew Klochkov >Assignee: Alastair Maw > Fix For: 1.3.0-rc1 > > Attachments: wicket-quickstart.tar.gz > > > When I do setResponsePage(MyHomePage.class) IE tries to show me > "my.site.com/./" url and gets 404 response. > Firefox just shows "my.site.com" without any troubles. I'm using wicket > 1.3-beta2 and WicketFilter mapped to /*. > It's being reproduced under tomcat only, jetty works fine. My tomcat version > is 5.5.17. > Quickstart project which reproduces the bug is attached. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-847) setResponsePage redirects to wrong url
[ https://issues.apache.org/jira/browse/WICKET-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523607 ] Andrew Klochkov commented on WICKET-847: A better workaround which solves some issues is to return "." instead of empty string. > setResponsePage redirects to wrong url > -- > > Key: WICKET-847 > URL: https://issues.apache.org/jira/browse/WICKET-847 > Project: Wicket > Issue Type: Bug > Components: wicket >Affects Versions: 1.3.0-beta2 >Reporter: Andrew Klochkov >Assignee: Alastair Maw > Fix For: 1.3.0-rc1 > > Attachments: wicket-quickstart.tar.gz > > > When I do setResponsePage(MyHomePage.class) IE tries to show me > "my.site.com/./" url and gets 404 response. > Firefox just shows "my.site.com" without any troubles. I'm using wicket > 1.3-beta2 and WicketFilter mapped to /*. > It's being reproduced under tomcat only, jetty works fine. My tomcat version > is 5.5.17. > Quickstart project which reproduces the bug is attached. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-847) setResponsePage redirects to wrong url
[ https://issues.apache.org/jira/browse/WICKET-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12539969 ] Alastair Maw commented on WICKET-847: - Tomcat is evidently lacking in the relative to absolute URL conversion on the 302 redirect here. We should probably just do it ourselves and not rely on one of the slightly more esoteric bits of the servlet-api spec for it. > setResponsePage redirects to wrong url > -- > > Key: WICKET-847 > URL: https://issues.apache.org/jira/browse/WICKET-847 > Project: Wicket > Issue Type: Bug > Components: wicket >Affects Versions: 1.3.0-beta2 >Reporter: Andrew Klochkov >Assignee: Alastair Maw > Fix For: 1.3.0-rc2 > > Attachments: wicket-quickstart.tar.gz > > > When I do setResponsePage(MyHomePage.class) IE tries to show me > "my.site.com/./" url and gets 404 response. > Firefox just shows "my.site.com" without any troubles. I'm using wicket > 1.3-beta2 and WicketFilter mapped to /*. > It's being reproduced under tomcat only, jetty works fine. My tomcat version > is 5.5.17. > Quickstart project which reproduces the bug is attached. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-847) setResponsePage redirects to wrong url
[ https://issues.apache.org/jira/browse/WICKET-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12628320#action_12628320 ] Erik van Oosten commented on WICKET-847: I got bitten by this as well (with 1.4-m3). The failing combination is: Tomcat and IE (6 or 7). Firefox correctly interprets the "./" as "" so its okay to use Firefox + Tomcat. Jetty converts "./" to "", so its okay to use any borwser on Jetty. My patch is: In BookmarkablePageRequestTarget: public void respond(RequestCycle requestCycle) { if (pageClassRef != null && pageClassRef.get() != null) { if (requestCycle.isRedirect()) { IRequestCycleProcessor processor = requestCycle.getProcessor(); String redirectUrl = processor.getRequestCodingStrategy() .encode(requestCycle, this) .toString(); // START OF PATCH if (redirectUrl.startsWith("./")) { redirectUrl = redirectUrl.substring(2); } // END OF PATCH requestCycle.getResponse().redirect(redirectUrl); } else { // Let the page render itself getPage(requestCycle).renderPage(); } } } And in RedirectRequestTarget: public void respond(RequestCycle requestCycle) { Response response = requestCycle.getResponse(); response.reset(); if (redirectUrl.startsWith("/")) { RequestContext rc = RequestContext.get(); if (rc.isPortletRequest() && ((PortletRequestContext)rc).isEmbedded()) { response.redirect(redirectUrl); } else { String location = RequestCycle.get() .getRequest() .getRelativePathPrefixToContextRoot() + this.redirectUrl.substring(1); // START OF PATCH if (location.startsWith("./")) { location = location.substring(2); } // END OF PATCH response.redirect(location); } } else if (redirectUrl.startsWith("http://";) || redirectUrl.startsWith("https://";)) { response.redirect(redirectUrl); } else { response.redirect(RequestCycle.get() .getRequest() .getRelativePathPrefixToWicketHandler() + redirectUrl); } } > setResponsePage redirects to wrong url > -- > > Key: WICKET-847 > URL: https://issues.apache.org/jira/browse/WICKET-847 > Project: Wicket > Issue Type: Bug > Components: wicket >Affects Versions: 1.3.0-beta2 >Reporter: Andrew Klochkov >Assignee: Alastair Maw > Fix For: 1.3.5 > > Attachments: wicket-quickstart.tar.gz > > > When I do setResponsePage(MyHomePage.class) IE tries to show me > "my.site.com/./" url and gets 404 response. > Firefox just shows "my.site.com" without any troubles. I'm using wicket > 1.3-beta2 and WicketFilter mapped to /*. > It's being reproduced under tomcat only, jetty works fine. My tomcat version > is 5.5.17. > Quickstart project which reproduces the bug is attached. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (WICKET-847) setResponsePage redirects to wrong url
[ https://issues.apache.org/jira/browse/WICKET-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659794#action_12659794 ] Vjacheslav Kanivetc commented on WICKET-847: This patch is NOT included in 1.3.5, so fix for version is incorrect. I think it should be reapplied to 1.3.6 version at least. > setResponsePage redirects to wrong url > -- > > Key: WICKET-847 > URL: https://issues.apache.org/jira/browse/WICKET-847 > Project: Wicket > Issue Type: Bug > Components: wicket >Affects Versions: 1.3.0-beta2 >Reporter: Andrew Klochkov >Assignee: Martijn Dashorst > Fix For: 1.3.5, 1.4-M3 > > Attachments: wicket-quickstart.tar.gz > > > When I do setResponsePage(MyHomePage.class) IE tries to show me > "my.site.com/./" url and gets 404 response. > Firefox just shows "my.site.com" without any troubles. I'm using wicket > 1.3-beta2 and WicketFilter mapped to /*. > It's being reproduced under tomcat only, jetty works fine. My tomcat version > is 5.5.17. > Quickstart project which reproduces the bug is attached. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.