[ https://issues.apache.org/jira/browse/WICKET-1974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Erik van Oosten updated WICKET-1974: ------------------------------------ Description: After installing a WebRequest instance that makes all URLs absolute, render_to_buffer does not work anymore. The problem is that WicketFilter assumes that all URLs are relative (WebFilter#getRelativePath removes the first char of the URL). Proposed fixes: -1- in WebApplication#addBufferedResponse remove the leading "/" from the buffer id when present -2- or alternatively, remove the leading "/" from the URL (when present) in WebRequestCycle, just before addBudderedResponse is called Here is the installed AbsoluteServletWebRequest: /** * WebServletRequest that makes bookmarkable links absolute. * Note: use this only when WickterFilter listens on the root context. * * @author Erik van Oosten */ public class AbsoluteServletWebRequest extends ServletWebRequest { public AbsoluteServletWebRequest(HttpServletRequest servletRequest) { super(servletRequest); } @Override public int getDepthRelativeToWicketHandler() { return 0; } @Override public String getRelativePathPrefixToWicketHandler() { return "/"; } @Override public String getRelativePathPrefixToContextRoot() { return "/"; } } was: After installing a WebRequest instance that makes all URLs absolute, render_to_buffer does not work anymore. The problem is that WicketFilter assumes that all URLs are relative (WebFilter#getRelativePath removes the first char of the URL). Proposed fixes: -1- in WebApplication#addBufferedResponse remove the leading "/" from the buffer id when present -2- or alternatively, remove the leading "/" from the URL (when present) in WebRequestCycle, just before addBudderedResponse is called Here is the installed AbsoluteServletWebRequest: /** * WebServletRequest that makes bookmarkable links absolute. * * @author Erik van Oosten */ public class AbsoluteServletWebRequest extends ServletWebRequest { public AbsoluteServletWebRequest(HttpServletRequest servletRequest) { super(servletRequest); } @Override public int getDepthRelativeToWicketHandler() { return 0; } @Override public String getRelativePathPrefixToWicketHandler() { return "/"; } @Override public String getRelativePathPrefixToContextRoot() { return "/"; } } > render_to_buffer does not work for absolute URLs > ------------------------------------------------ > > Key: WICKET-1974 > URL: https://issues.apache.org/jira/browse/WICKET-1974 > Project: Wicket > Issue Type: Improvement > Components: wicket > Affects Versions: 1.4-RC1 > Reporter: Erik van Oosten > > After installing a WebRequest instance that makes all URLs absolute, > render_to_buffer does not work anymore. The problem is that WicketFilter > assumes that all URLs are relative (WebFilter#getRelativePath removes the > first char of the URL). > Proposed fixes: > -1- in WebApplication#addBufferedResponse remove the leading "/" from the > buffer id when present > -2- or alternatively, remove the leading "/" from the URL (when present) in > WebRequestCycle, just before addBudderedResponse is called > Here is the installed AbsoluteServletWebRequest: > /** > * WebServletRequest that makes bookmarkable links absolute. > * Note: use this only when WickterFilter listens on the root context. > * > * @author Erik van Oosten > */ > public class AbsoluteServletWebRequest extends ServletWebRequest { > public AbsoluteServletWebRequest(HttpServletRequest servletRequest) { > super(servletRequest); > } > @Override > public int getDepthRelativeToWicketHandler() { > return 0; > } > @Override > public String getRelativePathPrefixToWicketHandler() { > return "/"; > } > @Override > public String getRelativePathPrefixToContextRoot() { > return "/"; > } > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.