Class RFC2231Utility

    • Method Detail

      • hasEncodedValue

        public static boolean hasEncodedValue​(String paramName)
        Checks if Asterisk (*) at the end of parameter name to indicate, if it has charset and language information to decode the value.
        Parameters:
        paramName - The parameter, which is being checked.
        Returns:
        true, if encoded as per RFC 2231, false otherwise
      • stripDelimiter

        public static String stripDelimiter​(String paramName)
        If paramName has Asterisk (*) at the end, it will be stripped off, else the passed value will be returned.
        Parameters:
        paramName - The parameter, which is being inspected.
        Returns:
        stripped paramName of Asterisk (*), if RFC2231 encoded
      • decodeText

        public static String decodeText​(String encodedText)
                                 throws UnsupportedEncodingException
        Decode a string of text obtained from a HTTP header as per RFC 2231 Eg 1. us-ascii'en-us'This%20is%20%2A%2A%2Afun%2A%2A%2A will be decoded to This is ***fun*** Eg 2. iso-8859-1'en'%A3%20rate will be decoded to £ rate. Eg 3. UTF-8''%c2%a3%20and%20%e2%82%ac%20rates will be decoded to £ and € rates.
        Parameters:
        encodedText - - Text to be decoded has a format of <charset>'<language>'<encoded_value> and ASCII only
        Returns:
        Decoded text based on charset encoding
        Throws:
        UnsupportedEncodingException - The requested character set wasn't found.