io.undertow.util

## Class URLUtils

- java.lang.Object
- - io.undertow.util.URLUtils

    public class URLUtils
    extends Object

Utilities for dealing with URLs

Author:
  Stuart Douglas, Andre Schaefer

### Method Summary

All Methods Static Methods Concrete Methods Deprecated Methods
`static String` `decode(String s, String enc, boolean decodeSlash, boolean formEncoding, StringBuilder buffer)` Decodes a URL.
`static String` `decode(String s, String enc, boolean decodeSlash, StringBuilder buffer)` Decodes a URL.
`static boolean` `isAbsoluteUrl(String location)` Test if provided location is an absolute URI or not.
`static String` `normalizeSlashes(String path)` Adds a '/' prefix to the beginning of a path if one isn't present and removes trailing slashes if any are present.
`static int` `parsePathParams(String string, HttpServerExchange exchange, String charset, boolean doDecode, int maxParameters)`
`static void` `parsePathParms(String string, HttpServerExchange exchange, String charset, boolean doDecode, int maxParameters)` Deprecated.
`static void` `parseQueryString(String string, HttpServerExchange exchange, String charset, boolean doDecode, int maxParameters)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### parseQueryString

    public static void parseQueryString(String string,
                                        HttpServerExchange exchange,
                                        String charset,
                                        boolean doDecode,
                                        int maxParameters)
                                 throws ParameterLimitException

Throws:
  `ParameterLimitException`

#### parsePathParms

    @Deprecated
    public static void parsePathParms(String string,
                                                  HttpServerExchange exchange,
                                                  String charset,
                                                  boolean doDecode,
                                                  int maxParameters)
                                           throws ParameterLimitException

Deprecated.

Throws:
  `ParameterLimitException`

#### parsePathParams

    public static int parsePathParams(String string,
                                      HttpServerExchange exchange,
                                      String charset,
                                      boolean doDecode,
                                      int maxParameters)
                               throws ParameterLimitException

Throws:
  `ParameterLimitException`

#### decode

    public static String decode(String s,
                                String enc,
                                boolean decodeSlash,
                                StringBuilder buffer)

Decodes a URL. If the decoding fails for any reason then an IllegalArgumentException will be thrown.

Parameters:
  `s` - The string to decode
  `enc` - The encoding
  `decodeSlash` - If slash characters should be decoded
  `buffer` - The string builder to use as a buffer.
Returns:
  The decoded URL

#### decode

    public static String decode(String s,
                                String enc,
                                boolean decodeSlash,
                                boolean formEncoding,
                                StringBuilder buffer)

Decodes a URL. If the decoding fails for any reason then an IllegalArgumentException will be thrown.

Parameters:
  `s` - The string to decode
  `enc` - The encoding
  `decodeSlash` - If slash characters should be decoded
  `buffer` - The string builder to use as a buffer.
Returns:
  The decoded URL

#### normalizeSlashes

    public static String normalizeSlashes(String path)

Adds a '/' prefix to the beginning of a path if one isn't present and removes trailing slashes if any are present.

Parameters:
  `path` - the path to normalize
Returns:
  a normalized (with respect to slashes) result

#### isAbsoluteUrl

    public static boolean isAbsoluteUrl(String location)

Test if provided location is an absolute URI or not.

Parameters:
  `location` - location to check, null = relative, having scheme = absolute
Returns:
  true if location is considered absolute