Class RequestBody


  • public class RequestBody
    extends Object
    • Constructor Detail

      • RequestBody

        public RequestBody​(RequestBody delegate)
      • RequestBody

        public RequestBody​(Object delegate)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • asString

        public 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 BodyHandler for this to be populated.
      • asString

        public String asString​(String encoding)
        Get the entire HTTP request body as a string, assuming the specified encoding. The context must have first been routed to a BodyHandler for this to be populated.
        Parameters:
        encoding - the encoding, e.g. "UTF-16"
        Returns:
        the body
      • asJsonObject

        public JsonObject asJsonObject​(int maxAllowedLength)
        Gets the current body buffer as a . If a positive limit is provided the parsing will only happen if the buffer length is smaller or equal to the limit. Otherwise an IllegalStateException is thrown. When the application is only handling uploads in JSON format, it is recommended to set a limit on BodyHandler.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 an IllegalStateException is 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 . The context must have first been routed to a BodyHandler for this to be populated.
        When the body is null or the "null" JSON literal then null is returned.
      • asJsonArray

        public JsonArray asJsonArray​(int maxAllowedLength)
        Gets the current body buffer as a . If a positive limit is provided the parsing will only happen if the buffer length is smaller or equal to the limit. Otherwise an IllegalStateException is thrown. When the application is only handling uploads in JSON format, it is recommended to set a limit on BodyHandler.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 an IllegalStateException is 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 . The context must have first been routed to a BodyHandler for this to be populated.
        When the body is null or the "null" JSON literal then null is returned.
      • asJsonObject

        public JsonObject asJsonObject()
        Returns:
        Get the entire HTTP request body as a . The context must have first been routed to a BodyHandler for this to be populated.
        When the body is null or the "null" JSON literal then null is returned.
      • asJsonArray

        public JsonArray asJsonArray()
        Returns:
        Get the entire HTTP request body as a . The context must have first been routed to a BodyHandler for this to be populated.
        When the body is null or the "null" JSON literal then null is returned.
      • buffer

        public Buffer buffer()
        Returns:
        Get the entire HTTP request body as a . The context must have first been routed to a BodyHandler for this to be populated.
      • asPojo

        public <R> R asPojo​(Class<R> clazz,
                            int maxAllowedLength)
        Parameters:
        clazz -
        maxAllowedLength - if the current buffer length is greater than the limit an IllegalStateException is 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 BodyHandler for this to be populated.
        When the body is null or the "null" JSON literal then null is returned. WARNING: This feature requires jackson-databind. Or another JSON codec that implements POJO parsing
      • asPojo

        public <R> R asPojo​(Class<R> clazz)
        Parameters:
        clazz -
        Returns:
        Get the entire HTTP request body as a POJO. The context must have first been routed to a BodyHandler for this to be populated.
        When the body is null or the "null" JSON literal then null is returned. WARNING: This feature requires jackson-databind. Or another JSON codec that implements POJO parsing
      • length

        public 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

        public boolean isEmpty()
        A body can be empty if it is not available, or its length is 0.
        Returns:
        true if empty.
      • available

        public boolean available()
        Return true if a BodyHandler was executed before this call in the lifetime of the request.
        Returns:
        true if body was parsed during the duration of the request.