Class EntityUtils

java.lang.Object
org.apache.hc.core5.http.io.entity.EntityUtils

public final class EntityUtils extends Object
Support methods for HttpEntity.
Since:
4.0
  • Field Details

    • DEFAULT_ENTITY_RETURN_MAX_LENGTH

      private static final int DEFAULT_ENTITY_RETURN_MAX_LENGTH
      See Also:
    • DEFAULT_CHARSET

      private static final Charset DEFAULT_CHARSET
    • DEFAULT_CHAR_BUFFER_SIZE

      private static final int DEFAULT_CHAR_BUFFER_SIZE
      See Also:
    • DEFAULT_BYTE_BUFFER_SIZE

      private static final int DEFAULT_BYTE_BUFFER_SIZE
      See Also:
    • CONTENT_TYPE_MAP

      private static final Map<String,ContentType> CONTENT_TYPE_MAP
  • Constructor Details

    • EntityUtils

      private EntityUtils()
  • Method Details

    • consumeQuietly

      public static void consumeQuietly(HttpEntity entity)
      Ensures that the entity content is fully consumed and the content stream, if exists, is closed. The process is done, quietly , without throwing any IOException.
      Parameters:
      entity - the entity to consume.
      Since:
      4.2
    • consume

      public static void consume(HttpEntity entity) throws IOException
      Ensures that the entity content is fully consumed and the content stream, if exists, is closed.
      Parameters:
      entity - the entity to consume.
      Throws:
      IOException - if an error occurs reading the input stream
      Since:
      4.1
    • toContentLength

      private static int toContentLength(int contentLength)
      Gets a usable content length value for the given candidate.
      Parameters:
      contentLength - an integer.
      Returns:
      The given content length or 4096 if it is invalid input: '&lt' 0.
    • checkContentLength

      static long checkContentLength(EntityDetails entityDetails)
    • toByteArray

      public static byte[] toByteArray(HttpEntity entity) throws IOException
      Reads the contents of an entity and return it as a byte array.
      Parameters:
      entity - the entity to read from=
      Returns:
      byte array containing the entity content. May be null if HttpEntity.getContent() is null.
      Throws:
      IOException - if an error occurs reading the input stream
      IllegalArgumentException - if entity is null or if content length > Integer.MAX_VALUE
    • toByteArray

      public static byte[] toByteArray(HttpEntity entity, int maxResultLength) throws IOException
      Reads the contents of an entity and return it as a byte array.
      Parameters:
      entity - the entity to read from=
      maxResultLength - The maximum size of the String to return; use it to guard against unreasonable or malicious processing.
      Returns:
      byte array containing the entity content. May be null if HttpEntity.getContent() is null.
      Throws:
      IOException - if an error occurs reading the input stream
      IllegalArgumentException - if entity is null or if content length > Integer.MAX_VALUE
    • toCharArrayBuffer

      private static CharArrayBuffer toCharArrayBuffer(InputStream inStream, int contentLength, Charset charset, int maxResultLength) throws IOException
      Throws:
      IOException
    • toString

      private static String toString(HttpEntity entity, ContentType contentType, int maxResultLength) throws IOException
      Throws:
      IOException
    • toString

      public static String toString(HttpEntity entity, Charset defaultCharset) throws IOException, ParseException
      Gets the entity content as a String, using the provided default character set if none is found in the entity. If defaultCharset is null, the default "ISO-8859-1" is used.
      Parameters:
      entity - must not be null
      defaultCharset - character set to be applied if none found in the entity, or if the entity provided charset is invalid or not available.
      Returns:
      the entity content as a String. May be null if HttpEntity.getContent() is null.
      Throws:
      ParseException - if header elements cannot be parsed
      IllegalArgumentException - if entity is null or if content length > Integer.MAX_VALUE
      IOException - if an error occurs reading the input stream
      UnsupportedCharsetException - Thrown when the named entity's charset is not available in this instance of the Java virtual machine and no defaultCharset is provided.
    • toString

      public static String toString(HttpEntity entity, Charset defaultCharset, int maxResultLength) throws IOException, ParseException
      Gets the entity content as a String, using the provided default character set if none is found in the entity. If defaultCharset is null, the default "ISO-8859-1" is used.
      Parameters:
      entity - must not be null
      defaultCharset - character set to be applied if none found in the entity, or if the entity provided charset is invalid or not available.
      maxResultLength - The maximum size of the String to return; use it to guard against unreasonable or malicious processing.
      Returns:
      the entity content as a String. May be null if HttpEntity.getContent() is null.
      Throws:
      ParseException - if header elements cannot be parsed
      IllegalArgumentException - if entity is null or if content length > Integer.MAX_VALUE
      IOException - if an error occurs reading the input stream
      UnsupportedCharsetException - Thrown when the named entity's charset is not available in this instance of the Java virtual machine and no defaultCharset is provided.
    • toString

      public static String toString(HttpEntity entity, String defaultCharset) throws IOException, ParseException
      Gets the entity content as a String, using the provided default character set if none is found in the entity. If defaultCharset is null, the default "ISO-8859-1" is used.
      Parameters:
      entity - must not be null
      defaultCharset - character set to be applied if none found in the entity
      Returns:
      the entity content as a String. May be null if HttpEntity.getContent() is null.
      Throws:
      ParseException - if header elements cannot be parsed
      IllegalArgumentException - if entity is null or if content length > Integer.MAX_VALUE
      IOException - if an error occurs reading the input stream
      UnsupportedCharsetException - Thrown when the named charset is not available in this instance of the Java virtual machine
    • toString

      public static String toString(HttpEntity entity, String defaultCharset, int maxResultLength) throws IOException, ParseException
      Gets the entity content as a String, using the provided default character set if none is found in the entity. If defaultCharset is null, the default "ISO-8859-1" is used.
      Parameters:
      entity - must not be null
      defaultCharset - character set to be applied if none found in the entity
      maxResultLength - The maximum size of the String to return; use it to guard against unreasonable or malicious processing.
      Returns:
      the entity content as a String. May be null if HttpEntity.getContent() is null.
      Throws:
      ParseException - if header elements cannot be parsed
      IllegalArgumentException - if entity is null or if content length > Integer.MAX_VALUE
      IOException - if an error occurs reading the input stream
      UnsupportedCharsetException - Thrown when the named charset is not available in this instance of the Java virtual machine
    • toString

      public static String toString(HttpEntity entity) throws IOException, ParseException
      Reads the contents of an entity and return it as a String. The content is converted using the character set from the entity (if any), failing that, "ISO-8859-1" is used.
      Parameters:
      entity - the entity to convert to a string; must not be null
      Returns:
      String containing the content.
      Throws:
      ParseException - if header elements cannot be parsed
      IllegalArgumentException - if entity is null or if content length > Integer.MAX_VALUE
      IOException - if an error occurs reading the input stream
      UnsupportedCharsetException - Thrown when the named charset is not available in this instance of the Java virtual machine
    • toString

      public static String toString(HttpEntity entity, int maxResultLength) throws IOException, ParseException
      Reads the contents of an entity and return it as a String. The content is converted using the character set from the entity (if any), failing that, "ISO-8859-1" is used.
      Parameters:
      entity - the entity to convert to a string; must not be null
      maxResultLength - The maximum size of the String to return; use it to guard against unreasonable or malicious processing.
      Returns:
      String containing the content.
      Throws:
      ParseException - if header elements cannot be parsed
      IllegalArgumentException - if entity is null or if content length > Integer.MAX_VALUE
      IOException - if an error occurs reading the input stream
      UnsupportedCharsetException - Thrown when the named charset is not available in this instance of the Java virtual machine
    • parse

      public static List<NameValuePair> parse(HttpEntity entity) throws IOException
      Returns a list of NameValuePairs as parsed from an HttpEntity. The encoding is taken from the entity's Content-Encoding header.

      This is typically used while parsing an HTTP POST.

      Parameters:
      entity - The entity to parse
      Returns:
      a list of NameValuePair as built from the URI's query portion.
      Throws:
      IOException - If there was an exception getting the entity's data.
    • parse

      public static List<NameValuePair> parse(HttpEntity entity, int maxStreamLength) throws IOException
      Returns a list of NameValuePairs as parsed from an HttpEntity. The encoding is taken from the entity's Content-Encoding header.

      This is typically used while parsing an HTTP POST.

      Parameters:
      entity - The entity to parse
      maxStreamLength - The maximum size of the stream to read; use it to guard against unreasonable or malicious processing.
      Returns:
      a list of NameValuePair as built from the URI's query portion.
      Throws:
      IOException - If there was an exception getting the entity's data.