Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.catalina.util
Class RequestUtil

    java.lang.Object
      org.apache.catalina.util.RequestUtil

    public final class RequestUtil

extends Object

General purpose request parsing and encoding utility methods.

Version:
  $Id: RequestUtil.java 1239053 2012-02-01 10:52:00Z markt $
Author:
  Craig R. McClanahan, Tim Tye

Constructor Summary
`RequestUtil()`

Method Summary
`static String` | `filter(String message)` Filter the specified message string for characters that are sensitive in HTML.
`static String` | `normalize(String path)` Deprecated. Deprecated to resolve a circular package dependency and will be removed in Tomcat 8.0.x. Use `RequestUtil.normalize(String)` as a replacement.
`static String` | `normalize(String path, boolean replaceBackSlash)` Deprecated. Deprecated to resolve a circular package dependency and will be removed in Tomcat 8.0.x. Use `RequestUtil.normalize(String, boolean)` as a replacement.
`static void` | `parseParameters(Map<String,String[]> map, byte[] data, String encoding)` Append request parameters from the specified String to the specified Map.
`static void` | `parseParameters(Map<String,String[]> map, String data, String encoding)` Append request parameters from the specified String to the specified Map.
`static String` | `URLDecode(byte[] bytes)` Decode and return the specified URL-encoded byte array.
`static String` | `URLDecode(byte[] bytes, String enc)` Decode and return the specified URL-encoded byte array.
`static String` | `URLDecode(byte[] bytes, String enc, boolean isQuery)` Decode and return the specified URL-encoded byte array.
`static String` | `URLDecode(String str)` Decode and return the specified URL-encoded String.
`static String` | `URLDecode(String str, String enc)` Decode and return the specified URL-encoded String.
`static String` | `URLDecode(String str, String enc, boolean isQuery)` Decode and return the specified URL-encoded String.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RequestUtil

    public RequestUtil()

Method Detail

### filter

    public static String filter(String message)

  Filter the specified message string for characters that are sensitive in HTML. This avoids potential attacks caused by including JavaScript codes in the request URL that is often reported in error messages.

  Parameters:
    `message` - The message string to be filtered

### normalize

    @Deprecated
    public static String normalize(String path)

  Deprecated. Deprecated to resolve a circular package dependency and will be removed in Tomcat 8.0.x. Use `RequestUtil.normalize(String)` as a replacement.

  Normalize a relative URI path that may have relative values ("/./", "/../", and so on ) it it. WARNING - This method is useful only for normalizing application-generated paths. It does not try to perform security checks for malicious input.

  Parameters:
    `path` - Relative path to be normalized

### normalize

    @Deprecated
    public static String normalize(String path,
                                              boolean replaceBackSlash)

  Deprecated. Deprecated to resolve a circular package dependency and will be removed in Tomcat 8.0.x. Use `RequestUtil.normalize(String, boolean)` as a replacement.

  Normalize a relative URI path that may have relative values ("/./", "/../", and so on ) it it. WARNING - This method is useful only for normalizing application-generated paths. It does not try to perform security checks for malicious input.

  Parameters:
    `path` - Relative path to be normalized
    `replaceBackSlash` - Should '\\' be replaced with '/'

### parseParameters

    public static void parseParameters(Map<String,String[]> map,
                                       String data,
                                       String encoding)

  Append request parameters from the specified String to the specified Map. It is presumed that the specified Map is not accessed from any other thread, so no synchronization is performed.

  IMPLEMENTATION NOTE: URL decoding is performed individually on the parsed name and value elements, rather than on the entire query string ahead of time, to properly deal with the case where the name or value includes an encoded "=" or "&" character that would otherwise be interpreted as a delimiter.

  Parameters:
    `map` - Map that accumulates the resulting parameters
    `data` - Input string containing request parameters
    `encoding` - The encoding to use; encoding must not be null. If an unsupported encoding is specified the parameters will not be parsed and the map will not be modified

### URLDecode

    public static String URLDecode(String str)

  Decode and return the specified URL-encoded String. When the byte array is converted to a string, the system default character encoding is used... This may be different than some other servers. It is assumed the string is not a query string.

  Parameters:
    `str` - The url-encoded string
  Throws:
    `IllegalArgumentException` - if a '%' character is not followed by a valid 2-digit hexadecimal number

### URLDecode

    public static String URLDecode(String str,
                                   String enc)

  Decode and return the specified URL-encoded String. It is assumed the string is not a query string.

  Parameters:
    `str` - The url-encoded string
    `enc` - The encoding to use; if null, the default encoding is used. If an unsupported encoding is specified null will be returned
  Throws:
    `IllegalArgumentException` - if a '%' character is not followed by a valid 2-digit hexadecimal number

### URLDecode

    public static String URLDecode(String str,
                                   String enc,
                                   boolean isQuery)

  Decode and return the specified URL-encoded String.

  Parameters:
    `str` - The url-encoded string
    `enc` - The encoding to use; if null, the default encoding is used. If an unsupported encoding is specified null will be returned
    `isQuery` - Is this a query string being processed
  Throws:
    `IllegalArgumentException` - if a '%' character is not followed by a valid 2-digit hexadecimal number

### URLDecode

    public static String URLDecode(byte[] bytes)

  Decode and return the specified URL-encoded byte array. It is assumed the string is not a query string.

  Parameters:
    `bytes` - The url-encoded byte array
  Throws:
    `IllegalArgumentException` - if a '%' character is not followed by a valid 2-digit hexadecimal number

### URLDecode

    public static String URLDecode(byte[] bytes,
                                   String enc)

  Decode and return the specified URL-encoded byte array. It is assumed the string is not a query string.

  Parameters:
    `bytes` - The url-encoded byte array
    `enc` - The encoding to use; if null, the default encoding is used
  Throws:
    `IllegalArgumentException` - if a '%' character is not followed by a valid 2-digit hexadecimal number

### URLDecode

    public static String URLDecode(byte[] bytes,
                                   String enc,
                                   boolean isQuery)

  Decode and return the specified URL-encoded byte array.

  Parameters:
    `bytes` - The url-encoded byte array
    `enc` - The encoding to use; if null, the default encoding is used. If an unsupported encoding is specified null will be returned
    `isQuery` - Is this a query string being processed
  Throws:
    `IllegalArgumentException` - if a '%' character is not followed by a valid 2-digit hexadecimal number

### parseParameters

    public static void parseParameters(Map<String,String[]> map,
                                       byte[] data,
                                       String encoding)
                                throws UnsupportedEncodingException

  Append request parameters from the specified String to the specified Map. It is presumed that the specified Map is not accessed from any other thread, so no synchronization is performed.

  IMPLEMENTATION NOTE: URL decoding is performed individually on the parsed name and value elements, rather than on the entire query string ahead of time, to properly deal with the case where the name or value includes an encoded "=" or "&" character that would otherwise be interpreted as a delimiter. NOTE: byte array data is modified by this method. Caller beware.

  Parameters:
    `map` - Map that accumulates the resulting parameters
    `data` - Input string containing request parameters
    `encoding` - The encoding to use; if null, the default encoding is used
  Throws:
    `UnsupportedEncodingException` - if the requested encoding is not supported.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.