Package org.apache.tomcat.util.buf
Class UDecoder
java.lang.Object
org.apache.tomcat.util.buf.UDecoder
All URL decoding happens here. This way we can reuse, review, optimize without adding complexity to the buffers. The
conversion will modify the original buffer.
- Author:
- Costin Manolache
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionDeprecated.Unused.void
URLDecode, will modify the source.void
convert
(ByteChunk mb, EncodedSolidusHandling encodedSolidusHandling) URLDecode, will modify the source.void
Deprecated.Unused.void
convert
(MessageBytes mb, boolean query) Deprecated.Unused.static String
Deprecated.This method will be removed in Tomcat 9static String
Deprecated.Unused.static String
Deprecated.This method will be removed in Tomcat 9static String
Deprecated.This method will be removed in Tomcat 9static String
Decode and return the specified URL-encoded String.
-
Field Details
-
ALLOW_ENCODED_SLASH
Deprecated.
-
-
Constructor Details
-
UDecoder
public UDecoder()
-
-
Method Details
-
convert
URLDecode, will modify the source. Assumes source bytes are encoded using a superset of US-ASCII as per RFC 7230. "%2f" will be rejected unless the input is a query string.- Parameters:
mb
- The URL encoded bytesquery
-true
if this is a query string. For a query string '+' will be decoded to ' '- Throws:
IOException
- Invalid %xx URL encoding
-
convert
URLDecode, will modify the source. Assumes source bytes are encoded using a superset of US-ASCII as per RFC 7230.- Parameters:
mb
- The URL encoded bytesencodedSolidusHandling
- How should the %2f sequence handled by the decoder? For query strings this parameter will be ignored and the %2f sequence will be decoded- Throws:
IOException
- Invalid %xx URL encoding
-
convert
Deprecated.Unused. Will be removed in Tomcat 10In-buffer processing - the buffer will be modified.WARNING: This method assumes US-ASCII encoding.
- Parameters:
mb
- The URL encoded charsquery
-true
if this is a query string- Throws:
IOException
- Invalid %xx URL encoding
-
convert
Deprecated.Unused. Will be removed in Tomcat 10URLDecode, will modify the source.WARNING: This method assumes US-ASCII encoding.
- Parameters:
mb
- The URL encoded String, bytes or charsquery
-true
if this is a query string- Throws:
IOException
- Invalid %xx URL encoding
-
convert
Deprecated.Unused. Will be removed in Tomcat 10%xx decoding of a string.WARNING: This method assumes US-ASCII encoding.
FIXME: this is inefficient.
- Parameters:
str
- The URL encoded stringquery
-true
if this is a query string- Returns:
- the decoded string
-
URLDecode
Deprecated.Unused. This will be removed in Tomcat 10 onwardsDecode and return the specified URL-encoded String. When the byte array is converted to a string, ISO-885901 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- Returns:
- the decoded string
- Throws:
IllegalArgumentException
- if a '%' character is not followed by a valid 2-digit hexadecimal number
-
URLDecode
Deprecated.This method will be removed in Tomcat 9Decode and return the specified URL-encoded String. It is assumed the string is not a query string.- Parameters:
str
- The url-encoded stringenc
- The encoding to use; if null, ISO-885901 is used. If an unsupported encoding is specified null will be returned- Returns:
- the decoded string
- Throws:
IllegalArgumentException
- if a '%' character is not followed by a valid 2-digit hexadecimal number
-
URLDecode
Decode and return the specified URL-encoded String. It is assumed the string is not a query string.- Parameters:
str
- The url-encoded stringcharset
- The character encoding to use; if null, ISO-8859-1 is used.- Returns:
- the decoded string
- Throws:
IllegalArgumentException
- if a '%' character is not followed by a valid 2-digit hexadecimal number
-
URLDecode
Deprecated.This method will be removed in Tomcat 9Decode and return the specified URL-encoded String.- Parameters:
str
- The url-encoded stringenc
- The encoding to use; if null, ISO-8859-1 is used. If an unsupported encoding is specified null will be returnedisQuery
- Is this a query string being processed- Returns:
- the decoded string
- Throws:
IllegalArgumentException
- if a '%' character is not followed by a valid 2-digit hexadecimal number
-
URLDecode
Deprecated.This method will be removed in Tomcat 9Decode and return the specified URL-encoded byte array.- Parameters:
bytes
- The url-encoded byte arrayenc
- The encoding to use; if null, ISO-8859-1 is used. If an unsupported encoding is specified null will be returnedisQuery
- Is this a query string being processed- Returns:
- the decoded string
- Throws:
IllegalArgumentException
- if a '%' character is not followed by a valid 2-digit hexadecimal number
-