@Nonnull
  public static String getRequestRequestURI (@Nullable final HttpServletRequest aRequest)
  {
    String ret = "";
    if (aRequest != null)
      try
      {
        if (aRequest.isAsyncSupported () && aRequest.isAsyncStarted ())
          ret = (String) aRequest.getAttribute (AsyncContext.ASYNC_REQUEST_URI);
        else
          ret = aRequest.getRequestURI ();
      }
      catch (final Exception ex)
      {
        // fall through
        if (isLogExceptions ())
          if (LOGGER.isWarnEnabled ())
            LOGGER.warn ("[ServletHelper] Failed to determine request URI of HTTP request", ex);
      }
    return ret;
  }
@ Nonnull public static String getRequestRequestURI ( @ Nullable final HttpServletRequest aRequest ) { String ret = "" ; if ( aRequest != null ) try { if ( aRequest . isAsyncSupported ( ) && aRequest . isAsyncStarted ( ) ) ret = ( String ) aRequest . getAttribute ( AsyncContext . ASYNC_REQUEST_URI ) ; else ret = aRequest . getRequestURI ( ) ; } catch ( final Exception ex ) { if ( isLogExceptions ( ) ) if ( LOGGER . isWarnEnabled ( ) ) LOGGER . warn ( "[ServletHelper] Failed to determine request URI of HTTP request" , ex ) ; } return ret ; }
Get the request URI of an request, supporting sync and async requests.

@param aRequest
Source request. May be <code>null</code>.
@return Empty string if request is <code>null</code> or the request URI.