Example usage for org.apache.wicket.request IUrlRenderer renderFullUrl

List of usage examples for org.apache.wicket.request IUrlRenderer renderFullUrl

Introduction

In this page you can find the example usage for org.apache.wicket.request IUrlRenderer renderFullUrl.

Prototype

String renderFullUrl(final Url url, Url baseUrl);

Source Link

Document

Renders the passed url as full/absolute.

Usage

From source file:org.opensingular.lib.wicket.util.application.HttpsOnlyUrlRenderer.java

License:Apache License

@SuppressWarnings("deprecation")
public String renderFullUrl(final Url url) {
    if (url instanceof IUrlRenderer) {
        IUrlRenderer renderer = (IUrlRenderer) url;
        return renderer.renderFullUrl(url, getBaseUrl());
    }//from ww  w .j  a  v  a  2s.c  o  m

    final String protocol = "https";
    final String host = resolveHost(url);

    final String path;
    if (url.isContextAbsolute()) {
        path = url.toString();
    } else {
        Url base = new Url(getBaseUrl());
        base.resolveRelative(url);
        path = base.toString();
    }

    StringBuilder render = new StringBuilder();
    if (!Strings.isEmpty(protocol)) {
        render.append(protocol);
        render.append(':');
    }

    if (!Strings.isEmpty(host)) {
        render.append("//");
        render.append(host);
    }

    if (!url.isContextAbsolute()) {
        render.append(request.getContextPath());
        render.append(request.getFilterPath());
    }
    return Strings.join("/", render.toString(), path);
}