use of org.apache.wicket.request.Url in project wicket by apache.
the class WicketTesterTest method setMultiValueQueryParameter.
/**
* Asserting that multiple parameters added in request and PageParameters get processed
*/
@Test
void setMultiValueQueryParameter() {
PageParameters parameters = new PageParameters();
parameters.add("q_1", "q_1_value_1");
parameters.add("q_1", "q_1_value_2");
IPageProvider testPageProvider = new PageProvider(MockPageParametersAware.class, parameters);
IRequestHandler pageRequestHandler = new BookmarkablePageRequestHandler(testPageProvider);
Url url = tester.getApplication().getRootRequestMapper().mapHandler(pageRequestHandler);
tester.getRequest().addParameter("q_2", "q_2_value_1");
tester.getRequest().addParameter("q_2", "q_2_value_2");
tester.getRequest().setUrl(url);
tester.processRequest();
MockPageParametersAware page = (MockPageParametersAware) tester.getLastRenderedPage();
IRequestParameters lastQueryParameter = page.getLastQueryParameters();
List<StringValue> q1ParameterValues = lastQueryParameter.getParameterValues("q_1");
assertTrue(q1ParameterValues.contains(StringValue.valueOf("q_1_value_1")));
assertTrue(q1ParameterValues.contains(StringValue.valueOf("q_1_value_2")));
List<StringValue> q2ParameterValues = lastQueryParameter.getParameterValues("q_2");
assertTrue(q2ParameterValues.contains(StringValue.valueOf("q_2_value_1")));
assertTrue(q2ParameterValues.contains(StringValue.valueOf("q_2_value_2")));
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class DynamicSubresourceIntegrity method getIntegrity.
private String getIntegrity(ResourceReference reference, IStaticCacheableResource cacheableResource) {
String integrity = cache.get(cacheableResource.getCacheKey());
if (integrity == null) {
Url baseUrl = getBaseUrl(reference);
try {
byte[] bytes = getBytes(cacheableResource, baseUrl);
integrity = "sha384-" + createHash(bytes);
cache.put(cacheableResource.getCacheKey(), integrity);
} catch (Exception ex) {
log.error("cannot calculate integrity", ex);
}
}
return integrity;
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class DynamicSubresourceIntegrity method getBaseUrl.
private Url getBaseUrl(ResourceReference reference) {
RequestCycle cycle = RequestCycle.get();
Url url = Url.parse(cycle.urlFor(reference, null));
if (url.getSegments().get(0).equals(".")) {
// not sure why this is needed but leading dot must be removed,
// otherwise relative urls will differ from the actually served css
url.removeLeadingSegments(1);
}
return url;
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class CustomHomeMapper method mapRequest.
/**
* Removes the leading segment if it a valid Locale
*
* @see org.apache.wicket.core.request.mapper.HomePageMapper#mapRequest(org.apache.wicket.request.Request)
*/
@Override
public IRequestHandler mapRequest(Request request) {
IRequestHandler requestHandler = null;
Url url = request.getUrl();
List<String> segments = url.getSegments();
if (segments.size() == 1) {
String localeAsString = segments.get(0);
Locale locale = LocaleHelper.parseLocale(localeAsString);
if (locale != null) {
Session.get().setLocale(locale);
segments.remove(0);
Request requestWithoutLocale = request.cloneWithUrl(url);
requestHandler = super.mapRequest(requestWithoutLocale);
}
}
return requestHandler;
}
use of org.apache.wicket.request.Url in project wicket by apache.
the class LocaleFirstMapper method stripLocaleSegment.
private Request stripLocaleSegment(Request request) {
Url url = request.getUrl();
url.getSegments().remove(0);
return request.cloneWithUrl(url);
}
Aggregations