Package org.eclipse.jetty.util
Class UrlEncoded
java.lang.Object
org.eclipse.jetty.util.UrlEncoded
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.
NotesThe 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:
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
decode88591To
(InputStream in, BiConsumer<String, String> adder, int maxLength, int maxKeys) Decoded parameters to MultiMap, using ISO8859-1 encodings.static void
decode88591To
(InputStream in, MultiMap<String> map, int maxLength, int maxKeys) Decoded parameters to MultiMap, using ISO8859-1 encodings.static Charset
decodeCharset
(String charsetName) static byte
decodeHexByte
(char hi, char lo) decodeQuery
(String query) static String
decodeString
(String encoded) Decode String with % encoding.static String
decodeString
(String encoded, int offset, int length, Charset charset) Decode String with % encoding.static void
decodeTo
(InputStream in, BiConsumer<String, String> adder, Charset charset, int maxLength, int maxKeys) Decoded parameters to Map.static void
decodeTo
(InputStream in, MultiMap<String> map, Charset charset, int maxLength, int maxKeys) Decoded parameters to Map.static void
Decoded parameters to Map.static void
Decoded parameters to Map.static void
Deprecated, for removal: This API element is subject to removal in a future version.static void
Decoded parameters to Map.static void
Decoded parameters to Map.static void
decodeUtf16To
(InputStream in, BiConsumer<String, String> adder, int maxLength, int maxKeys) static void
decodeUtf16To
(InputStream in, MultiMap<String> map, int maxLength, int maxKeys) static void
decodeUtf8To
(InputStream in, BiConsumer<String, String> adder, int maxLength, int maxKeys) Decoded parameters to Map.static void
decodeUtf8To
(InputStream in, MultiMap<String> map, int maxLength, int maxKeys) Decoded parameters to Map.static void
decodeUtf8To
(String uri, int offset, int length, Fields fields) Decodes URI query parameters into aFields
instance.static void
decodeUtf8To
(String query, int offset, int length, MultiMap<String> map) Deprecated.usedecodeUtf8To(String, int, int, Fields)
instead.static void
decodeUtf8To
(String query, Fields fields) Decodes URI query parameters into aFields
instance.static void
decodeUtf8To
(String query, MultiMap<String> map) Deprecated.usedecodeUtf8To(String, Fields)
instead.static String
Encode MultiMap with % encoding.static String
encodeString
(String string) Perform URL encoding.static String
encodeString
(String string, Charset charset) Perform URL encoding.
-
Field Details
-
ENCODING
-
-
Method Details
-
encode
Encode MultiMap with % encoding.- Parameters:
map
- the map to encodecharset
- 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.
-
decodeQuery
-
decodeTo
@Deprecated(since="10", forRemoval=true) public static void decodeTo(String content, MultiMap<String> map, String charset) Deprecated, for removal: This API element is subject to removal in a future version.usedecodeTo(String, MultiMap, Charset)
insteadDecoded parameters to Map.- Parameters:
content
- the string containing the encoded parametersmap
- the MultiMap to put parsed query parameters intocharset
- the charset to use for decoding
-
decodeTo
Decoded parameters to Map.- Parameters:
content
- the string containing the encoded parametersmap
- the MultiMap to put parsed query parameters intocharset
- the charset to use for decoding
-
decodeTo
Decoded parameters to Map.- Parameters:
content
- the string containing the encoded parametersmap
- the MultiMap to put parsed query parameters intocharset
- the charset to use for decoding
-
decodeTo
public static void decodeTo(String content, BiConsumer<String, String> adder, Charset charset, int maxKeys) Decoded parameters to Map.- Parameters:
content
- the string containing the encoded parametersadder
- Function to add parametercharset
- the charset to use for decoding
-
decodeTo
Decoded parameters to Map.- Parameters:
content
- the string containing the encoded parametersadder
- aBiConsumer
to accept the name/value pairs.charset
- the charset to use for decoding
-
decodeUtf8To
Deprecated.usedecodeUtf8To(String, Fields)
instead.- Parameters:
query
- the URI query string.map
- theMultiMap
to store the fields.
-
decodeUtf8To
Decodes URI query parameters into a
Fields
instance.- Parameters:
query
- the URI query string.fields
- the Fields to store the parameters.
-
decodeUtf8To
@Deprecated public static void decodeUtf8To(String query, int offset, int length, MultiMap<String> map) Deprecated.usedecodeUtf8To(String, int, int, Fields)
instead.Decoded parameters to Map.- Parameters:
query
- the string containing the encoded parametersoffset
- the offset within raw to decode fromlength
- the length of the section to decodemap
- theMultiMap
to populate
-
decodeUtf8To
Decodes URI query parameters into a
Fields
instance.- Parameters:
uri
- the URI string.offset
- the offset at which query parameters start.length
- the length of query parameters string to parse.fields
- the Fields to store the parameters.
-
decode88591To
public static void decode88591To(InputStream in, MultiMap<String> map, int maxLength, int maxKeys) throws IOException Decoded parameters to MultiMap, using ISO8859-1 encodings.- Parameters:
in
- InputSteam to readmap
- MultiMap to add parameters tomaxLength
- maximum length of form to read or -1 for no limitmaxKeys
- maximum number of keys to read or -1 for no limit- Throws:
IOException
- if unable to decode the InputStream as ISO8859-1
-
decode88591To
public static void decode88591To(InputStream in, BiConsumer<String, String> adder, int maxLength, int maxKeys) throws IOExceptionDecoded parameters to MultiMap, using ISO8859-1 encodings.- Parameters:
in
- InputSteam to readadder
- Function to add parametermaxLength
- maximum length of form to read or -1 for no limitmaxKeys
- maximum number of keys to read or -1 for no limit- Throws:
IOException
- if unable to decode the InputStream as ISO8859-1
-
decodeUtf8To
public static void decodeUtf8To(InputStream in, MultiMap<String> map, int maxLength, int maxKeys) throws IOException Decoded parameters to Map.- Parameters:
in
- InputSteam to readmap
- MultiMap to add parameters tomaxLength
- maximum form length to decode or -1 for no limitmaxKeys
- the maximum number of keys to read or -1 for no limit- Throws:
IOException
- if unable to decode the input stream
-
decodeUtf8To
public static void decodeUtf8To(InputStream in, BiConsumer<String, String> adder, int maxLength, int maxKeys) throws IOExceptionDecoded parameters to Map.- Parameters:
in
- InputSteam to readadder
- Function to add parameters tomaxLength
- maximum form length to decode or -1 for no limitmaxKeys
- the maximum number of keys to read or -1 for no limit- Throws:
IOException
- if unable to decode the input stream
-
decodeUtf16To
public static void decodeUtf16To(InputStream in, MultiMap<String> map, int maxLength, int maxKeys) throws IOException - Throws:
IOException
-
decodeUtf16To
public static void decodeUtf16To(InputStream in, BiConsumer<String, String> adder, int maxLength, int maxKeys) throws IOException- Throws:
IOException
-
decodeCharset
- Parameters:
charsetName
- The charset name for decoding or null for the default- Returns:
- A Charset to use for decoding.
-
decodeTo
public static void decodeTo(InputStream in, MultiMap<String> map, Charset charset, int maxLength, int maxKeys) throws IOException Decoded parameters to Map.- Parameters:
in
- the stream containing the encoded parametersmap
- the MultiMap to decode intocharset
- the charset to use for decodingmaxLength
- the maximum length of the form to decodemaxKeys
- the maximum number of keys to decode- Throws:
IOException
- if unable to decode input stream
-
decodeTo
public static void decodeTo(InputStream in, BiConsumer<String, String> adder, Charset charset, int maxLength, int maxKeys) throws IOExceptionDecoded parameters to Map.- Parameters:
in
- the stream containing the encoded parametersadder
- Function to add a parametercharset
- the charset to use for decodingmaxLength
- the maximum length of the form to decodemaxKeys
- the maximum number of keys to decode- Throws:
IOException
- if unable to decode input stream
-
decodeString
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
Decode String with % encoding. This method makes the assumption that the majority of calls will need no decoding.- Parameters:
encoded
- the encoded string to decodeoffset
- the offset in the encoded string to decode fromlength
- the length of characters in the encoded string to decodecharset
- the charset to use for decoding- Returns:
- the decoded string
-
decodeHexByte
public static byte decodeHexByte(char hi, char lo) -
encodeString
Perform URL encoding.- Parameters:
string
- the string to encode- Returns:
- encoded string.
-
encodeString
Perform URL encoding.- Parameters:
string
- the string to encodecharset
- the charset to use for encoding- Returns:
- encoded string.
-
decodeTo(String, MultiMap, Charset)
instead