code: @Nonnull
    @Nonempty
    public static String getURL (@Nonnull final HttpServletRequest aHttpRequest)
    {
      ValueEnforcer.notNull (aHttpRequest, "HttpRequest");
  
      final StringBuilder ret = getFullServerName (aHttpRequest.getScheme (),
                                                   aHttpRequest.getServerName (),
                                                   aHttpRequest.getServerPort ());
  
      // Path
      final String sRequestURI = getRequestURI (aHttpRequest);
      ret.append (sRequestURI);
  
      // query string
      final String sQueryString = ServletHelper.getRequestQueryString (aHttpRequest);
      if (StringHelper.hasText (sQueryString))
        ret.append (URLHelper.QUESTIONMARK).append (sQueryString);
  
      return ret.toString ();
    }
docs: Get the full URL (incl. protocol) and parameters of the passed request.<br>
  
  <pre>
  http://hostname.com/mywebapp/servlet/dir/a/b.xml=123?d=789
  </pre>
  
  @param aHttpRequest
  The request to use. May not be <code>null</code>.
  @return The full URL.
  @see #getURI(HttpServletRequest) getURI to retrieve the URL without the
  server scheme and name.