Class DataUrlDecoder

java.lang.Object
org.htmlunit.protocol.data.DataUrlDecoder

public class DataUrlDecoder extends Object
Helper to work with data URLs.
See Also:
  • Field Details

    • DEFAULT_CHARSET

      private static final Charset DEFAULT_CHARSET
    • DEFAULT_MEDIA_TYPE

      private static final String DEFAULT_MEDIA_TYPE
      See Also:
    • mediaType_

      private final String mediaType_
    • charset_

      private final Charset charset_
    • content_

      private final byte[] content_
  • Constructor Details

    • DataUrlDecoder

      protected DataUrlDecoder(byte[] data, String mediaType, Charset charset)
      C'tor.
      Parameters:
      data - the data
      mediaType - the media type
      charset - the charset
  • Method Details

    • decode

      public static DataUrlDecoder decode(URL url) throws UnsupportedEncodingException
      Decodes a data URL providing simple access to the information contained by the URL.
      Parameters:
      url - the URL to decode
      Returns:
      the DataUrlDecoder holding decoded information
      Throws:
      UnsupportedEncodingException - if the encoding specified by the data URL is invalid or not
    • decodeDataURL

      public static DataUrlDecoder decodeDataURL(String url) throws UnsupportedEncodingException
      Decodes a data URL providing simple access to the information contained by the URL.
      Parameters:
      url - the string representation of the URL to decode
      Returns:
      the DataUrlDecoder holding decoded information
      Throws:
      UnsupportedEncodingException - if the encoding specified by the data URL is invalid or not available on the JVM
    • extractCharset

      private static Charset extractCharset(String beforeData)
    • extractMediaType

      private static String extractMediaType(String beforeData)
    • getMediaType

      public String getMediaType()
      Gets the media type information contained in the data URL.
      Returns:
      "text/plain" if the URL didn't contain any media type information
    • getCharset

      public String getCharset()
      Gets the charset information specified in the data URL.
      Returns:
      "US-ASCII" if the URL didn't contain any charset information
    • getBytes

      public byte[] getBytes()
      Gets the bytes contained in the data URL.
      Returns:
      the content
    • getDataAsString

      public String getDataAsString() throws UnsupportedEncodingException
      Gets the text content of the data URL. This makes sense only for data URL that represents some text.
      Returns:
      the text content
      Throws:
      UnsupportedEncodingException - if decoding failed using the specified charset
    • decodeUrl

      private static byte[] decodeUrl(byte[] bytes) throws org.apache.commons.codec.DecoderException
      Throws:
      org.apache.commons.codec.DecoderException
    • digit16

      private static int digit16(byte b) throws org.apache.commons.codec.DecoderException
      Throws:
      org.apache.commons.codec.DecoderException