mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
preserve https across redirections if it was set
This commit is contained in:
@@ -31,6 +31,7 @@ import org.apache.wicket.markup.html.WebPage;
|
|||||||
import org.apache.wicket.request.IRequestHandler;
|
import org.apache.wicket.request.IRequestHandler;
|
||||||
import org.apache.wicket.request.Request;
|
import org.apache.wicket.request.Request;
|
||||||
import org.apache.wicket.request.Response;
|
import org.apache.wicket.request.Response;
|
||||||
|
import org.apache.wicket.request.Url;
|
||||||
import org.apache.wicket.request.component.IRequestableComponent;
|
import org.apache.wicket.request.component.IRequestableComponent;
|
||||||
import org.apache.wicket.request.cycle.AbstractRequestCycleListener;
|
import org.apache.wicket.request.cycle.AbstractRequestCycleListener;
|
||||||
import org.apache.wicket.request.cycle.RequestCycle;
|
import org.apache.wicket.request.cycle.RequestCycle;
|
||||||
@@ -44,6 +45,7 @@ import com.commafeed.frontend.pages.NextUnreadRedirectPage;
|
|||||||
import com.commafeed.frontend.pages.PasswordRecoveryCallbackPage;
|
import com.commafeed.frontend.pages.PasswordRecoveryCallbackPage;
|
||||||
import com.commafeed.frontend.pages.PasswordRecoveryPage;
|
import com.commafeed.frontend.pages.PasswordRecoveryPage;
|
||||||
import com.commafeed.frontend.pages.WelcomePage;
|
import com.commafeed.frontend.pages.WelcomePage;
|
||||||
|
import com.commafeed.frontend.utils.WicketUtils;
|
||||||
import com.commafeed.frontend.utils.exception.DisplayExceptionPage;
|
import com.commafeed.frontend.utils.exception.DisplayExceptionPage;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -151,6 +153,13 @@ public class CommaFeedApplication extends AuthenticatedWebApplication {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void restartResponseAtSignInPage() {
|
||||||
|
// preserve https if it was set
|
||||||
|
RequestCycle.get().getUrlRenderer().setBaseUrl(Url.parse(WicketUtils.getClientFullUrl()));
|
||||||
|
super.restartResponseAtSignInPage();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Session newSession(Request request, Response response) {
|
public Session newSession(Request request, Response response) {
|
||||||
return new CommaFeedSession(request);
|
return new CommaFeedSession(request);
|
||||||
|
|||||||
@@ -44,4 +44,19 @@ public class WicketUtils {
|
|||||||
WebResponse webResponse = (WebResponse) RequestCycle.get().getResponse();
|
WebResponse webResponse = (WebResponse) RequestCycle.get().getResponse();
|
||||||
return (HttpServletResponse) webResponse.getContainerResponse();
|
return (HttpServletResponse) webResponse.getContainerResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* like wicket's Request.getClientUrl() but returns an absolute url instead of a relative one
|
||||||
|
*/
|
||||||
|
public static String getClientFullUrl() {
|
||||||
|
HttpServletRequest request = getHttpServletRequest();
|
||||||
|
StringBuffer requestURL = request.getRequestURL();
|
||||||
|
String queryString = request.getQueryString();
|
||||||
|
|
||||||
|
if (queryString == null) {
|
||||||
|
return requestURL.toString();
|
||||||
|
} else {
|
||||||
|
return requestURL.append('?').append(queryString).toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user