Class UrlEncoded


  • public class UrlEncoded
    extends java.lang.Object
    Handles coding of MIME "x-www-form-urlencoded".

    This class handles the encoding and decoding for either the query string of a URL or the _content of a POST HTTP request.

    Notes

    The UTF-8 charset is assumed, unless otherwise defined by either passing a parameter or setting the "org.eclipse.jetty.util.UrlEncoding.charset" System property.

    See Also:
    URLEncoder
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.nio.charset.Charset ENCODING  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void decode88591To​(java.io.InputStream in, MultiMap<java.lang.String> map, int maxLength, int maxKeys)
      Decoded parameters to MultiMap, using ISO8859-1 encodings.
      static java.lang.String decodeString​(java.lang.String encoded)
      Decode String with % encoding.
      static java.lang.String decodeString​(java.lang.String encoded, int offset, int length, java.nio.charset.Charset charset)
      Decode String with % encoding.
      static void decodeTo​(java.io.InputStream in, MultiMap<java.lang.String> map, java.lang.String charset, int maxLength, int maxKeys)
      Decoded parameters to Map.
      static void decodeTo​(java.io.InputStream in, MultiMap<java.lang.String> map, java.nio.charset.Charset charset, int maxLength, int maxKeys)
      Decoded parameters to Map.
      static void decodeTo​(java.lang.String content, MultiMap<java.lang.String> map, java.lang.String charset)
      Decoded parameters to Map.
      static void decodeTo​(java.lang.String content, MultiMap<java.lang.String> map, java.nio.charset.Charset charset)
      Decoded parameters to Map.
      static void decodeTo​(java.lang.String content, MultiMap<java.lang.String> map, java.nio.charset.Charset charset, int maxKeys)
      Decoded parameters to Map.
      static void decodeUtf16To​(java.io.InputStream in, MultiMap<java.lang.String> map, int maxLength, int maxKeys)  
      static void decodeUtf8To​(java.io.InputStream in, MultiMap<java.lang.String> map, int maxLength, int maxKeys)
      Decoded parameters to Map.
      static void decodeUtf8To​(java.lang.String query, int offset, int length, MultiMap<java.lang.String> map)
      Decoded parameters to Map.
      static void decodeUtf8To​(java.lang.String query, MultiMap<java.lang.String> map)  
      static java.lang.String encode​(MultiMap<java.lang.String> map, java.nio.charset.Charset charset, boolean equalsForNullValue)
      Encode MultiMap with % encoding.
      static java.lang.String encodeString​(java.lang.String string)
      Perform URL encoding.
      static java.lang.String encodeString​(java.lang.String string, java.nio.charset.Charset charset)
      Perform URL encoding.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ENCODING

        public static final java.nio.charset.Charset ENCODING
    • Method Detail

      • encode

        public static java.lang.String encode​(MultiMap<java.lang.String> map,
                                              java.nio.charset.Charset charset,
                                              boolean equalsForNullValue)
        Encode MultiMap with % encoding.
        Parameters:
        map - the map to encode
        charset - the charset to use for encoding (uses default encoding if null)
        equalsForNullValue - if True, then an '=' is always used, even for parameters without a value. e.g. "blah?a=&b=&c=".
        Returns:
        the MultiMap as a string encoded with % encodings.
      • decodeTo

        public static void decodeTo​(java.lang.String content,
                                    MultiMap<java.lang.String> map,
                                    java.lang.String charset)
        Decoded parameters to Map.
        Parameters:
        content - the string containing the encoded parameters
        map - the MultiMap to put parsed query parameters into
        charset - the charset to use for decoding
      • decodeTo

        public static void decodeTo​(java.lang.String content,
                                    MultiMap<java.lang.String> map,
                                    java.nio.charset.Charset charset)
        Decoded parameters to Map.
        Parameters:
        content - the string containing the encoded parameters
        map - the MultiMap to put parsed query parameters into
        charset - the charset to use for decoding
      • decodeTo

        public static void decodeTo​(java.lang.String content,
                                    MultiMap<java.lang.String> map,
                                    java.nio.charset.Charset charset,
                                    int maxKeys)
        Decoded parameters to Map.
        Parameters:
        content - the string containing the encoded parameters
        map - the MultiMap to put parsed query parameters into
        charset - the charset to use for decoding
      • decodeUtf8To

        public static void decodeUtf8To​(java.lang.String query,
                                        MultiMap<java.lang.String> map)
      • decodeUtf8To

        public static void decodeUtf8To​(java.lang.String query,
                                        int offset,
                                        int length,
                                        MultiMap<java.lang.String> map)
        Decoded parameters to Map.
        Parameters:
        query - the string containing the encoded parameters
        offset - the offset within raw to decode from
        length - the length of the section to decode
        map - the MultiMap to populate
      • decode88591To

        public static void decode88591To​(java.io.InputStream in,
                                         MultiMap<java.lang.String> map,
                                         int maxLength,
                                         int maxKeys)
                                  throws java.io.IOException
        Decoded parameters to MultiMap, using ISO8859-1 encodings.
        Parameters:
        in - InputSteam to read
        map - MultiMap to add parameters to
        maxLength - maximum length of form to read or -1 for no limit
        maxKeys - maximum number of keys to read or -1 for no limit
        Throws:
        java.io.IOException - if unable to decode the InputStream as ISO8859-1
      • decodeUtf8To

        public static void decodeUtf8To​(java.io.InputStream in,
                                        MultiMap<java.lang.String> map,
                                        int maxLength,
                                        int maxKeys)
                                 throws java.io.IOException
        Decoded parameters to Map.
        Parameters:
        in - InputSteam to read
        map - MultiMap to add parameters to
        maxLength - maximum form length to decode or -1 for no limit
        maxKeys - the maximum number of keys to read or -1 for no limit
        Throws:
        java.io.IOException - if unable to decode the input stream
      • decodeUtf16To

        public static void decodeUtf16To​(java.io.InputStream in,
                                         MultiMap<java.lang.String> map,
                                         int maxLength,
                                         int maxKeys)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • decodeTo

        public static void decodeTo​(java.io.InputStream in,
                                    MultiMap<java.lang.String> map,
                                    java.lang.String charset,
                                    int maxLength,
                                    int maxKeys)
                             throws java.io.IOException
        Decoded parameters to Map.
        Parameters:
        in - the stream containing the encoded parameters
        map - the MultiMap to decode into
        charset - the charset to use for decoding
        maxLength - the maximum length of the form to decode or -1 for no limit
        maxKeys - the maximum number of keys to decode or -1 for no limit
        Throws:
        java.io.IOException - if unable to decode the input stream
      • decodeTo

        public static void decodeTo​(java.io.InputStream in,
                                    MultiMap<java.lang.String> map,
                                    java.nio.charset.Charset charset,
                                    int maxLength,
                                    int maxKeys)
                             throws java.io.IOException
        Decoded parameters to Map.
        Parameters:
        in - the stream containing the encoded parameters
        map - the MultiMap to decode into
        charset - the charset to use for decoding
        maxLength - the maximum length of the form to decode
        maxKeys - the maximum number of keys to decode
        Throws:
        java.io.IOException - if unable to decode input stream
      • decodeString

        public static java.lang.String decodeString​(java.lang.String encoded)
        Decode String with % encoding. This method makes the assumption that the majority of calls will need no decoding.
        Parameters:
        encoded - the encoded string to decode
        Returns:
        the decoded string
      • decodeString

        public static java.lang.String decodeString​(java.lang.String encoded,
                                                    int offset,
                                                    int length,
                                                    java.nio.charset.Charset charset)
        Decode String with % encoding. This method makes the assumption that the majority of calls will need no decoding.
        Parameters:
        encoded - the encoded string to decode
        offset - the offset in the encoded string to decode from
        length - the length of characters in the encoded string to decode
        charset - the charset to use for decoding
        Returns:
        the decoded string
      • encodeString

        public static java.lang.String encodeString​(java.lang.String string)
        Perform URL encoding.
        Parameters:
        string - the string to encode
        Returns:
        encoded string.
      • encodeString

        public static java.lang.String encodeString​(java.lang.String string,
                                                    java.nio.charset.Charset charset)
        Perform URL encoding.
        Parameters:
        string - the string to encode
        charset - the charset to use for encoding
        Returns:
        encoded string.