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
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidURLDecode, will modify the source.voidconvert(ByteChunk mb, EncodedSolidusHandling encodedSolidusHandling) URLDecode, will modify the source.static StringDecode and return the specified URL-encoded String.
- 
Constructor Details- 
UDecoderpublic UDecoder()
 
- 
- 
Method Details- 
convertURLDecode, 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 bytes
- query-- trueif this is a query string. For a query string '+' will be decoded to ' '
- Throws:
- IOException- Invalid %xx URL encoding
 
- 
convertURLDecode, will modify the source. Assumes source bytes are encoded using a superset of US-ASCII as per RFC 7230.- Parameters:
- mb- The URL encoded bytes
- encodedSolidusHandling- 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
 
- 
URLDecodeDecode and return the specified URL-encoded String. It is assumed the string is not a query string.- Parameters:
- str- The url-encoded string
- charset- The character encoding to use; if null, UTF-8 is used.
- Returns:
- the decoded string
- Throws:
- IllegalArgumentException- if a '%' character is not followed by a valid 2-digit hexadecimal number
 
 
-