Class EntityUtils
java.lang.Object
org.apache.hc.core5.http.io.entity.EntityUtils
Support methods for
HttpEntity
.- Since:
- 4.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Map
<String, ContentType> private static final int
private static final int
private static final Charset
private static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static long
checkContentLength
(EntityDetails entityDetails) static void
consume
(HttpEntity entity) Ensures that the entity content is fully consumed and the content stream, if exists, is closed.static void
consumeQuietly
(HttpEntity entity) Ensures that the entity content is fully consumed and the content stream, if exists, is closed.static List
<NameValuePair> parse
(HttpEntity entity) Returns a list ofNameValuePairs
as parsed from anHttpEntity
.static List
<NameValuePair> parse
(HttpEntity entity, int maxStreamLength) Returns a list ofNameValuePairs
as parsed from anHttpEntity
.static byte[]
toByteArray
(HttpEntity entity) Reads the contents of an entity and return it as a byte array.static byte[]
toByteArray
(HttpEntity entity, int maxResultLength) Reads the contents of an entity and return it as a byte array.private static CharArrayBuffer
toCharArrayBuffer
(InputStream inStream, int contentLength, Charset charset, int maxResultLength) private static int
toContentLength
(int contentLength) Gets a usable content length value for the given candidate.static String
toString
(HttpEntity entity) Reads the contents of an entity and return it as a String.static String
toString
(HttpEntity entity, int maxResultLength) Reads the contents of an entity and return it as a String.static String
toString
(HttpEntity entity, String defaultCharset) Gets the entity content as a String, using the provided default character set if none is found in the entity.static String
toString
(HttpEntity entity, String defaultCharset, int maxResultLength) Gets the entity content as a String, using the provided default character set if none is found in the entity.static String
toString
(HttpEntity entity, Charset defaultCharset) Gets the entity content as a String, using the provided default character set if none is found in the entity.static String
toString
(HttpEntity entity, Charset defaultCharset, int maxResultLength) Gets the entity content as a String, using the provided default character set if none is found in the entity.private static String
toString
(HttpEntity entity, ContentType contentType, int maxResultLength)
-
Field Details
-
DEFAULT_ENTITY_RETURN_MAX_LENGTH
private static final int DEFAULT_ENTITY_RETURN_MAX_LENGTH- See Also:
-
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
-
-
Constructor Details
-
EntityUtils
private EntityUtils()
-
-
Method Details
-
consumeQuietly
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
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: '<' 0.
-
checkContentLength
-
toByteArray
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 streamIllegalArgumentException
- if entity is null or if content length > Integer.MAX_VALUE
-
toByteArray
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 streamIllegalArgumentException
- 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 nulldefaultCharset
- 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 parsedIllegalArgumentException
- if entity is null or if content length > Integer.MAX_VALUEIOException
- if an error occurs reading the input streamUnsupportedCharsetException
- 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 nulldefaultCharset
- 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 parsedIllegalArgumentException
- if entity is null or if content length > Integer.MAX_VALUEIOException
- if an error occurs reading the input streamUnsupportedCharsetException
- 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 nulldefaultCharset
- 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 parsedIllegalArgumentException
- if entity is null or if content length > Integer.MAX_VALUEIOException
- if an error occurs reading the input streamUnsupportedCharsetException
- 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 nulldefaultCharset
- character set to be applied if none found in the entitymaxResultLength
- 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 parsedIllegalArgumentException
- if entity is null or if content length > Integer.MAX_VALUEIOException
- if an error occurs reading the input streamUnsupportedCharsetException
- Thrown when the named charset is not available in this instance of the Java virtual machine
-
toString
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 parsedIllegalArgumentException
- if entity is null or if content length > Integer.MAX_VALUEIOException
- if an error occurs reading the input streamUnsupportedCharsetException
- 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 nullmaxResultLength
- 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 parsedIllegalArgumentException
- if entity is null or if content length > Integer.MAX_VALUEIOException
- if an error occurs reading the input streamUnsupportedCharsetException
- Thrown when the named charset is not available in this instance of the Java virtual machine
-
parse
Returns a list ofNameValuePairs
as parsed from anHttpEntity
. 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
Returns a list ofNameValuePairs
as parsed from anHttpEntity
. 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 parsemaxStreamLength
- 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.
-