Search in sources :

Example 36 with Url

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")));
}
Also used : IRequestHandler(org.apache.wicket.request.IRequestHandler) PageProvider(org.apache.wicket.core.request.handler.PageProvider) IPageProvider(org.apache.wicket.core.request.handler.IPageProvider) BookmarkablePageRequestHandler(org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler) MockPageParametersAware(org.apache.wicket.MockPageParametersAware) PageParameters(org.apache.wicket.request.mapper.parameter.PageParameters) IPageProvider(org.apache.wicket.core.request.handler.IPageProvider) StringValue(org.apache.wicket.util.string.StringValue) Url(org.apache.wicket.request.Url) IRequestParameters(org.apache.wicket.request.IRequestParameters) Test(org.junit.jupiter.api.Test)

Example 37 with Url

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;
}
Also used : Url(org.apache.wicket.request.Url) IOException(java.io.IOException) NoSuchAlgorithmException(java.security.NoSuchAlgorithmException) ResourceStreamNotFoundException(org.apache.wicket.util.resource.ResourceStreamNotFoundException)

Example 38 with Url

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;
}
Also used : RequestCycle(org.apache.wicket.request.cycle.RequestCycle) Url(org.apache.wicket.request.Url)

Example 39 with 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;
}
Also used : Locale(java.util.Locale) IRequestHandler(org.apache.wicket.request.IRequestHandler) Request(org.apache.wicket.request.Request) Url(org.apache.wicket.request.Url)

Example 40 with Url

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);
}
Also used : Url(org.apache.wicket.request.Url)

Aggregations

Url (org.apache.wicket.request.Url)361 Test (org.junit.jupiter.api.Test)220 IRequestHandler (org.apache.wicket.request.IRequestHandler)145 PageParameters (org.apache.wicket.request.mapper.parameter.PageParameters)58 MockWebRequest (org.apache.wicket.mock.MockWebRequest)57 UrlRenderer (org.apache.wicket.request.UrlRenderer)57 RenderPageRequestHandler (org.apache.wicket.core.request.handler.RenderPageRequestHandler)51 IRequestablePage (org.apache.wicket.request.component.IRequestablePage)50 Test (org.junit.Test)46 PageProvider (org.apache.wicket.core.request.handler.PageProvider)40 ResourceReferenceRequestHandler (org.apache.wicket.request.handler.resource.ResourceReferenceRequestHandler)35 IPageProvider (org.apache.wicket.core.request.handler.IPageProvider)34 ResourceUrl (org.apache.wicket.request.resource.caching.ResourceUrl)33 BookmarkableListenerRequestHandler (org.apache.wicket.core.request.handler.BookmarkableListenerRequestHandler)27 ListenerRequestHandler (org.apache.wicket.core.request.handler.ListenerRequestHandler)26 Request (org.apache.wicket.request.Request)25 MockPage (org.apache.wicket.MockPage)22 BookmarkablePageRequestHandler (org.apache.wicket.core.request.handler.BookmarkablePageRequestHandler)18 BufferedWebResponse (org.apache.wicket.protocol.http.BufferedWebResponse)16 PageAndComponentProvider (org.apache.wicket.core.request.handler.PageAndComponentProvider)15