Package org.simpleframework.http.message
Class BufferBody
java.lang.Object
org.simpleframework.http.message.BufferBody
- All Implemented Interfaces:
Body
The
Body
interface is used to represent the body of
a HTTP entity. It contains the information that is delivered with
the request. The body is represented by a stream of bytes. In
order to access the entity body this interface provides a stream
which can be used to read it. Also, should the message be encoded
as a multipart message the individual parts can be read using the
Attachment
instance for it.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Buffer
This is usd to hold the bytes representing the HTTP body.private final PartSeries
This is used to hold the attachments for the HTTP body. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for theBufferBody
object.BufferBody
(Buffer buffer) Constructor for theBufferBody
object.BufferBody
(Buffer buffer, PartSeries series) Constructor for theBufferBody
object. -
Method Summary
Modifier and TypeMethodDescriptionThis will acquire the contents of the body in UTF-8.getContent
(String charset) This will acquire the contents of the body in the specified charset.This is used to acquire the contents of the body as a stream.This method is used to acquire aPart
from the HTTP request using a known name for the part.getParts()
This method is used to get allPart
objects that are associated with the request.
-
Field Details
-
series
This is used to hold the attachments for the HTTP body. -
buffer
This is usd to hold the bytes representing the HTTP body.
-
-
Constructor Details
-
BufferBody
public BufferBody()Constructor for theBufferBody
object. This is used to create a body that represents a HTTP payload. The body enables the payload to be either read in a stream or as an encoded string. Also the attachments are available. -
BufferBody
Constructor for theBufferBody
object. This is used to create a body that represents a HTTP payload. The body enables the payload to be either read in a stream or as an encoded string. Also the attachments are available.- Parameters:
buffer
- this is the buffer representing the body
-
BufferBody
Constructor for theBufferBody
object. This is used to create a body that represents a HTTP payload. The body enables the payload to be either read in a stream or as an encoded string. Also the attachments are available.- Parameters:
buffer
- this is the buffer representing the bodyseries
- this is the list of parts for this body
-
-
Method Details
-
getPart
This method is used to acquire aPart
from the HTTP request using a known name for the part. This is typically used when there is a file upload with a multipart POST request. All parts that are not files can be acquired as string values from the attachment object. -
getParts
This method is used to get allPart
objects that are associated with the request. Each attachment contains the body and headers associated with it. If the request is not a multipart POST request then this will return an empty list. -
getContent
This will acquire the contents of the body in UTF-8. If there is no content encoding and the user of the request wants to deal with the body as a string then this method can be used. It will simply create a UTF-8 string using the body bytes.- Specified by:
getContent
in interfaceBody
- Returns:
- returns a UTF-8 string representation of the body
- Throws:
IOException
-
getContent
This will acquire the contents of the body in the specified charset. Typically this will be given the charset as taken from the HTTP Content-Type header. Although any encoding can be specified to convert the body to a string representation.- Specified by:
getContent
in interfaceBody
- Returns:
- returns an encoded string representation of the body
- Throws:
IOException
-
getInputStream
This is used to acquire the contents of the body as a stream. Each time this method is invoked a new stream is created that will read the contents of the body from the first byte. This ensures that the stream can be acquired several times without any issues arising from previous reads.- Specified by:
getInputStream
in interfaceBody
- Returns:
- this returns a new string used to read the body
- Throws:
IOException
-