Interface RequestBody
public interface RequestBody
-
Method Summary
Modifier and TypeMethodDescriptiondefault JsonArrayasJsonArray(int maxAllowedLength) Gets the current body buffer as aJsonArray.default JsonObjectasJsonObject(int maxAllowedLength) Gets the current body buffer as aJsonObject.default <R> R<R> RasString()Get the entire HTTP request body as a string, assuming the specified encoding.booleanReturntrueif aBodyHandlerwas executed before this call in the lifetime of the request.buffer()default booleanisEmpty()A body can be empty if it is not available, or its length is0.intlength()Returns the total length of the body buffer.
-
Method Details
-
asString
String asString()- Returns:
- the entire HTTP request body as a string, assuming UTF-8 encoding if the request does not provide the
content type charset attribute. If a charset is provided in the request that it shall be respected. The context
must have first been routed to a
BodyHandlerfor this to be populated.
-
asString
Get the entire HTTP request body as a string, assuming the specified encoding. The context must have first been routed to aBodyHandlerfor this to be populated.- Parameters:
encoding- the encoding, e.g. "UTF-16"- Returns:
- the body
-
asJsonObject
Gets the current body buffer as aJsonObject. If a positive limit is provided the parsing will only happen if the buffer length is smaller or equal to the limit. Otherwise anIllegalStateExceptionis thrown. When the application is only handling uploads in JSON format, it is recommended to set a limit onBodyHandler.setBodyLimit(long)as this will avoid the upload to be parsed and loaded into the application memory.- Parameters:
maxAllowedLength- if the current buffer length is greater than the limit anIllegalStateExceptionis thrown. This can be used to avoid DDoS attacks on very long JSON payloads that could take over the CPU while attempting to parse the data.- Returns:
- Get the entire HTTP request body as a
JsonObject. The context must have first been routed to aBodyHandlerfor this to be populated.
When the body isnullor the"null"JSON literal thennullis returned.
-
asJsonArray
Gets the current body buffer as aJsonArray. If a positive limit is provided the parsing will only happen if the buffer length is smaller or equal to the limit. Otherwise anIllegalStateExceptionis thrown. When the application is only handling uploads in JSON format, it is recommended to set a limit onBodyHandler.setBodyLimit(long)as this will avoid the upload to be parsed and loaded into the application memory.- Parameters:
maxAllowedLength- if the current buffer length is greater than the limit anIllegalStateExceptionis thrown. This can be used to avoid DDoS attacks on very long JSON payloads that could take over the CPU while attempting to parse the data.- Returns:
- Get the entire HTTP request body as a
JsonArray. The context must have first been routed to aBodyHandlerfor this to be populated.
When the body isnullor the"null"JSON literal thennullis returned.
-
asJsonObject
- Returns:
- Get the entire HTTP request body as a
JsonObject. The context must have first been routed to aBodyHandlerfor this to be populated.
When the body isnullor the"null"JSON literal thennullis returned.
-
asJsonArray
- Returns:
- Get the entire HTTP request body as a
JsonArray. The context must have first been routed to aBodyHandlerfor this to be populated.
When the body isnullor the"null"JSON literal thennullis returned.
-
buffer
Buffer buffer()- Returns:
- Get the entire HTTP request body as a
Buffer. The context must have first been routed to aBodyHandlerfor this to be populated.
-
asPojo
- Parameters:
maxAllowedLength- if the current buffer length is greater than the limit anIllegalStateExceptionis thrown. This can be used to avoid DDoS attacks on very long JSON payloads that could take over the CPU while attempting to parse the data.- Returns:
- Get the entire HTTP request body as a POJO. The context must have first been routed to a
BodyHandlerfor this to be populated.
When the body isnullor the"null"JSON literal thennullis returned. WARNING: This feature requires jackson-databind. Or another JSON codec that implements POJO parsing
-
asPojo
- Returns:
- Get the entire HTTP request body as a POJO. The context must have first been routed to a
BodyHandlerfor this to be populated.
When the body isnullor the"null"JSON literal thennullis returned. WARNING: This feature requires jackson-databind. Or another JSON codec that implements POJO parsing
-
length
int length()Returns the total length of the body buffer. This is the length in bytes. When there is no buffer the length is-1.- Returns:
- length in bytes.
-
isEmpty
default boolean isEmpty()A body can be empty if it is not available, or its length is0.- Returns:
trueif empty.
-
available
boolean available()Returntrueif aBodyHandlerwas executed before this call in the lifetime of the request.- Returns:
trueif body was parsed during the duration of the request.
-