You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2017/03/23 16:19:41 UTC
[jira] [Resolved] (WICKET-6338) regression in original destination
Url rendering using RestartResponseAtInterceptPageException
[ https://issues.apache.org/jira/browse/WICKET-6338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Grigorov resolved WICKET-6338.
-------------------------------------
Resolution: Cannot Reproduce
Closing as "Cannot reproduce".
We will reopen it if a quickstart application that demonstrates the issue is provided!
> regression in original destination Url rendering using RestartResponseAtInterceptPageException
> ----------------------------------------------------------------------------------------------
>
> Key: WICKET-6338
> URL: https://issues.apache.org/jira/browse/WICKET-6338
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 7.4.0
> Environment: Windows 10 x64, Tomcat 8, Java 8
> Reporter: cs701
>
> After moving a Wicket app from version 6 to 7.0.4 we ran into a regression concerning redirects via RestartResponseAtInterceptPageException.
> When you throw new RestartResponseAtInterceptPageException(SomePage.class) the originalUrl saved in InterceptData contains protocol, host port
> and a segment indicating the context-relative path of the original target page.
> Once you call RestartResponseAtInterceptPageException.continueToOriginalDestination() the URL that is returned by renderUrl() is missing the context path
> in Wicket 7, whereas it worked fine in 6.
> Let's assume the original Url looked like this
> protocol: "http"
> host: "localhost"
> port: 8080
> segments: ["mypage"]
> and the app is deployed in the context path /myapp
> then Wicket 6 would have rendered this:
> http://localhost:8080/myapp/mypage
> whereas Wicket 7 does this:
> http://localhost:8080/mypage
> The reason being this difference in UrlRenderer.renderFullUrl():
> // Wicket 6
> if (url.isAbsolute() == false)
> {
> render.append(request.getContextPath());
> render.append(request.getFilterPath());
> }
>
> vs.
>
> // Wicket 7
> if ((!url.isFull()) && (!url.isContextAbsolute()))
> {
> render.append(this.request.getContextPath());
> render.append(this.request.getFilterPath());
> }
>
> The "if" condition for the example Url above is true for the Wicket 6 version, but false for the Wicket 7 version.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)