This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit adf4d35169baf102048ebfa13b516e96501451a6
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon Mar 16 16:29:57 2020 +0000

    Remove deprecated methods
---
 java/org/apache/tomcat/util/buf/UDecoder.java | 180 --------------------------
 1 file changed, 180 deletions(-)

diff --git a/java/org/apache/tomcat/util/buf/UDecoder.java 
b/java/org/apache/tomcat/util/buf/UDecoder.java
index f37aa73..73c7238 100644
--- a/java/org/apache/tomcat/util/buf/UDecoder.java
+++ b/java/org/apache/tomcat/util/buf/UDecoder.java
@@ -130,186 +130,6 @@ public final class UDecoder {
     // -------------------- Additional methods --------------------
 
     /**
-     * In-buffer processing - the buffer will be modified.
-     * <p>
-     * <b>WARNING:</b> This method assumes US-ASCII encoding.
-     *
-     * @param mb The URL encoded chars
-     * @param query <code>true</code> if this is a query string
-     * @throws IOException Invalid %xx URL encoding
-     *
-     * @deprecated Unused. Will be removed in Tomcat 10
-     */
-    @Deprecated
-    public void convert( CharChunk mb, boolean query )
-        throws IOException
-    {
-        //        log( "Converting a char chunk ");
-        int start=mb.getOffset();
-        char buff[]=mb.getBuffer();
-        int cend=mb.getEnd();
-
-        int idx= CharChunk.indexOf( buff, start, cend, '%' );
-        int idx2=-1;
-        if( query ) {
-            idx2= CharChunk.indexOf( buff, start, (idx >= 0 ? idx : cend), '+' 
);
-        }
-        if( idx<0 && idx2<0 ) {
-            return;
-        }
-
-        // idx will be the smallest positive index ( first % or + )
-        if( (idx2 >= 0 && idx2 < idx) || idx < 0 ) {
-            idx=idx2;
-        }
-
-        final boolean noSlash = !(ALLOW_ENCODED_SLASH || query);
-
-        for( int j=idx; j<cend; j++, idx++ ) {
-            if( buff[ j ] == '+' && query ) {
-                buff[idx]=( ' ' );
-            } else if( buff[ j ] != '%' ) {
-                buff[idx]=buff[j];
-            } else {
-                // read next 2 digits
-                if( j+2 >= cend ) {
-                    // invalid
-                    throw EXCEPTION_EOF;
-                }
-                char b1= buff[j+1];
-                char b2=buff[j+2];
-                if( !isHexDigit( b1 ) || ! isHexDigit(b2 )) {
-                    throw EXCEPTION_NOT_HEX_DIGIT;
-                }
-
-                j+=2;
-                int res=x2c( b1, b2 );
-                if (noSlash && (res == '/')) {
-                    throw EXCEPTION_SLASH;
-                }
-                buff[idx]=(char)res;
-            }
-        }
-        mb.setEnd( idx );
-    }
-
-    /**
-     * URLDecode, will modify the source.
-     * <p>
-     * <b>WARNING:</b> This method assumes US-ASCII encoding.
-     *
-     * @param mb The URL encoded String, bytes or chars
-     * @param query <code>true</code> if this is a query string
-     * @throws IOException Invalid %xx URL encoding
-     *
-     * @deprecated Unused. Will be removed in Tomcat 10
-     */
-    @Deprecated
-    public void convert(MessageBytes mb, boolean query)
-        throws IOException
-    {
-
-        switch (mb.getType()) {
-        case MessageBytes.T_STR:
-            String strValue=mb.toString();
-            if( strValue==null ) {
-                return;
-            }
-            try {
-                mb.setString( convert( strValue, query ));
-            } catch (RuntimeException ex) {
-                throw new DecodeException(ex.getMessage());
-            }
-            break;
-        case MessageBytes.T_CHARS:
-            CharChunk charC=mb.getCharChunk();
-            convert( charC, query );
-            break;
-        case MessageBytes.T_BYTES:
-            ByteChunk bytesC=mb.getByteChunk();
-            convert( bytesC, query );
-            break;
-        }
-    }
-
-    /**
-     * %xx decoding of a string.
-     * <p>
-     * <b>WARNING:</b> This method assumes US-ASCII encoding.
-     * <p>
-     * FIXME: this is inefficient.
-     *
-     * @param str The URL encoded string
-     * @param query <code>true</code> if this is a query string
-     * @return the decoded string
-     *
-     * @deprecated Unused. Will be removed in Tomcat 10
-     */
-    @Deprecated
-    public final String convert(String str, boolean query)
-    {
-        if (str == null) {
-            return  null;
-        }
-
-        if( (!query || str.indexOf( '+' ) < 0) && str.indexOf( '%' ) < 0 ) {
-            return str;
-        }
-
-        final boolean noSlash = !(ALLOW_ENCODED_SLASH || query);
-
-        StringBuilder dec = new StringBuilder();    // decoded string output
-        int strPos = 0;
-        int strLen = str.length();
-
-        dec.ensureCapacity(str.length());
-        while (strPos < strLen) {
-            int laPos;        // lookahead position
-
-            // look ahead to next URLencoded metacharacter, if any
-            for (laPos = strPos; laPos < strLen; laPos++) {
-                char laChar = str.charAt(laPos);
-                if ((laChar == '+' && query) || (laChar == '%')) {
-                    break;
-                }
-            }
-
-            // if there were non-metacharacters, copy them all as a block
-            if (laPos > strPos) {
-                dec.append(str.substring(strPos,laPos));
-                strPos = laPos;
-            }
-
-            // shortcut out of here if we're at the end of the string
-            if (strPos >= strLen) {
-                break;
-            }
-
-            // process next metacharacter
-            char metaChar = str.charAt(strPos);
-            if (metaChar == '+') {
-                dec.append(' ');
-                strPos++;
-                continue;
-            } else if (metaChar == '%') {
-                // We throw the original exception - the super will deal with
-                // it
-                //                try {
-                char res = (char) Integer.parseInt(
-                        str.substring(strPos + 1, strPos + 3), 16);
-                if (noSlash && (res == '/')) {
-                    throw new 
IllegalArgumentException(sm.getString("uDecoder.noSlash"));
-                }
-                dec.append(res);
-                strPos += 3;
-            }
-        }
-
-        return dec.toString();
-    }
-
-
-    /**
      * Decode and return the specified URL-encoded String. It is assumed the
      * string is not a query string.
      *


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to