use of org.apache.wicket.request.Url in project the-app by devops-dojo.
the class DirectBuyRequestCycleListener method redirectTo.
private void redirectTo(RequestCycle cycle, Url urlWithoutDirectBuy) {
Url requestUrl = cycle.getRequest().getUrl();
if (!requestUrl.equals(urlWithoutDirectBuy)) {
WebResponse response = (WebResponse) cycle.getResponse();
response.reset();
response.sendRedirect(urlWithoutDirectBuy.toString(Url.StringMode.FULL));
}
}
use of org.apache.wicket.request.Url in project the-app by devops-dojo.
the class DirectBuyRequestCycleListener method removeDirectBuyFromUrl.
private Url removeDirectBuyFromUrl(RequestCycle cycle) {
Url requestUrl = cycle.getRequest().getUrl();
Optional<Url.QueryParameter> directBuyParamter = requestUrl.getQueryParameters().stream().filter(p -> DIRECT_BUY_PARAMETER.equals(p.getName())).findFirst();
if (directBuyParamter.isPresent()) {
Url requestUrlWithoutDirectBuy = new Url(requestUrl);
// TODO-BERND: make change request for wicket - contextpath is removed in wicket implementation
requestUrlWithoutDirectBuy.getSegments().add(0, cycle.getRequest().getContextPath().replaceAll("/", ""));
requestUrlWithoutDirectBuy.getQueryParameters().remove(directBuyParamter.get());
return requestUrlWithoutDirectBuy;
}
return requestUrl;
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class PackageResourceReference method getResource.
/**
* @see org.apache.wicket.request.resource.ResourceReference#getResource()
*/
@Override
public PackageResource getResource() {
final String extension = getExtension();
final PackageResource resource;
RequestCycle requestCycle = RequestCycle.get();
UrlAttributes urlAttributes = null;
if (requestCycle != null) {
// resource attributes (locale, style, variation) might be encoded in the URL
final Url url = requestCycle.getRequest().getUrl();
urlAttributes = ResourceUtil.decodeResourceReferenceAttributes(url);
}
final String currentVariation = getCurrentVariation(urlAttributes);
final String currentStyle = getCurrentStyle(urlAttributes);
final Locale currentLocale = getCurrentLocale(urlAttributes);
final Class<?> scope = getScope();
final String name = getName();
if (CSS_EXTENSION.equals(extension)) {
resource = new CssPackageResource(scope, name, currentLocale, currentStyle, currentVariation);
} else if (JAVASCRIPT_EXTENSION.equals(extension)) {
resource = new JavaScriptPackageResource(scope, name, currentLocale, currentStyle, currentVariation);
} else {
resource = new PackageResource(scope, name, currentLocale, currentStyle, currentVariation);
}
resource.readBuffered(readBuffered);
removeCompressFlagIfUnnecessary(resource);
return resource;
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class WicketTesterTest method setQueryParameterWhenRequestHasAnQueryUrl.
/**
* Asserting that parameters set in request get processed, even if the request URL already has
* query parameters
*/
@Test
public void setQueryParameterWhenRequestHasAnQueryUrl() {
PageParameters parameters = new PageParameters();
parameters.set("q_1", "q_1_value");
IPageProvider testPageProvider = new PageProvider(MockPageParametersAware.class, parameters);
IRequestHandler pageRequestHandler = new BookmarkablePageRequestHandler(testPageProvider);
Url url = tester.getApplication().getRootRequestMapper().mapHandler(pageRequestHandler);
tester.getRequest().setParameter("q_2", "q_2_value");
tester.getRequest().setUrl(url);
tester.processRequest();
MockPageParametersAware page = (MockPageParametersAware) tester.getLastRenderedPage();
assertEquals("q_1_value", page.getLastQueryParameters().getParameterValue("q_1").toString());
assertEquals("q_2_value", page.getLastQueryParameters().getParameterValue("q_2").toString());
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class ServletWebResponseTest method sendRedirectAjax.
/**
* https://issues.apache.org/jira/browse/WICKET-3885
*
* Redirects in Ajax requests should produce <ajax-response> with relative url
*
* @throws IOException
*/
@Test
public void sendRedirectAjax() throws IOException {
final String url = "./relative/path";
ServletWebRequest webRequest = mock(ServletWebRequest.class);
when(webRequest.isAjax()).thenReturn(Boolean.TRUE);
Url baseUrl = Url.parse("./baseUrl");
baseUrl.setProtocol("http");
baseUrl.setHost("someHost");
baseUrl.setPort(80);
when(webRequest.getClientUrl()).thenReturn(baseUrl);
HttpServletRequest httpServletRequest = mock(HttpServletRequest.class);
when(webRequest.getContainerRequest()).thenReturn(httpServletRequest);
when(httpServletRequest.getCharacterEncoding()).thenReturn("UTF-8");
HttpServletResponse httpServletResponse = mock(HttpServletResponse.class);
when(httpServletResponse.encodeRedirectURL(Matchers.anyString())).thenReturn(url);
StringWriter writer = new StringWriter();
when(httpServletResponse.getWriter()).thenReturn(new PrintWriter(writer));
ServletWebResponse webResponse = new ServletWebResponse(webRequest, httpServletResponse);
webResponse.sendRedirect(url);
verify(httpServletResponse).setHeader("Ajax-Location", url);
verify(httpServletResponse).setContentType("text/xml;charset=UTF-8");
assertEquals("<ajax-response><redirect><![CDATA[./relative/path]]></redirect></ajax-response>", writer.toString());
assertTrue(webResponse.isRedirect());
}
Aggregations