public class HttpPostRequestEncoder extends Object implements ChunkedInput
Modifier and Type | Class and Description |
---|---|
static class |
HttpPostRequestEncoder.EncoderMode
Different modes to use to encode form data.
|
static class |
HttpPostRequestEncoder.ErrorDataEncoderException
Exception when an error occurs while encoding
|
Constructor and Description |
---|
HttpPostRequestEncoder(HttpDataFactory factory,
HttpRequest request,
boolean multipart) |
HttpPostRequestEncoder(HttpDataFactory factory,
HttpRequest request,
boolean multipart,
Charset charset) |
HttpPostRequestEncoder(HttpDataFactory factory,
HttpRequest request,
boolean multipart,
Charset charset,
HttpPostRequestEncoder.EncoderMode encoderMode) |
HttpPostRequestEncoder(HttpRequest request,
boolean multipart) |
Modifier and Type | Method and Description |
---|---|
void |
addBodyAttribute(String name,
String value)
Add a simple attribute in the body as Name=Value
|
void |
addBodyFileUpload(String name,
File file,
String contentType,
boolean isText)
Add a file as a FileUpload
|
void |
addBodyFileUploads(String name,
File[] file,
String[] contentType,
boolean[] isText)
Add a series of Files associated with one File parameter (implied Mixed mode in Multipart)
|
void |
addBodyHttpData(InterfaceHttpData data)
Add the InterfaceHttpData to the Body list
|
void |
cleanFiles()
Clean all HttpDatas (on Disk) for the current request.
|
void |
close()
Releases the resources associated with the stream.
|
HttpRequest |
finalizeRequest()
Finalize the request by preparing the Header in the request and
returns the request ready to be sent.
|
List<InterfaceHttpData> |
getBodyListAttributes()
This method returns a List of all InterfaceHttpData from body part.
|
boolean |
hasNextChunk()
Returns
true if and only if there is any data left in the
stream. |
boolean |
isChunked() |
boolean |
isEndOfInput()
Return
true if and only if there is no data left in the stream
and the stream has reached at its end. |
boolean |
isMultipart()
True if this request is a Multipart request
|
HttpChunk |
nextChunk()
Returns the next available HttpChunk.
|
void |
setBodyHttpDatas(List<InterfaceHttpData> datas)
Set the Body HttpDatas list
|
public HttpPostRequestEncoder(HttpRequest request, boolean multipart) throws HttpPostRequestEncoder.ErrorDataEncoderException
request
- the request to encodemultipart
- True if the FORM is a ENCTYPE="multipart/form-data"NullPointerException
- for requestHttpPostRequestEncoder.ErrorDataEncoderException
- if the request is not a POSTpublic HttpPostRequestEncoder(HttpDataFactory factory, HttpRequest request, boolean multipart) throws HttpPostRequestEncoder.ErrorDataEncoderException
factory
- the factory used to create InterfaceHttpDatarequest
- the request to encodemultipart
- True if the FORM is a ENCTYPE="multipart/form-data"NullPointerException
- for request and factoryHttpPostRequestEncoder.ErrorDataEncoderException
- if the request is not a POSTpublic HttpPostRequestEncoder(HttpDataFactory factory, HttpRequest request, boolean multipart, Charset charset) throws HttpPostRequestEncoder.ErrorDataEncoderException
factory
- the factory used to create InterfaceHttpDatarequest
- the request to encodemultipart
- True if the FORM is a ENCTYPE="multipart/form-data"charset
- the charset to use as defaultNullPointerException
- for request or charset or factoryHttpPostRequestEncoder.ErrorDataEncoderException
- if the request is not a POSTpublic HttpPostRequestEncoder(HttpDataFactory factory, HttpRequest request, boolean multipart, Charset charset, HttpPostRequestEncoder.EncoderMode encoderMode) throws HttpPostRequestEncoder.ErrorDataEncoderException
factory
- the factory used to create InterfaceHttpDatarequest
- the request to encodemultipart
- True if the FORM is a ENCTYPE="multipart/form-data"charset
- the charset to use as default
+ @param encoderMode the mode for the encoder to use. See HttpPostRequestEncoder.EncoderMode
for the details.NullPointerException
- for request or charset or factoryHttpPostRequestEncoder.ErrorDataEncoderException
- if the request is not a POSTpublic void cleanFiles()
public boolean isMultipart()
public List<InterfaceHttpData> getBodyListAttributes()
public void setBodyHttpDatas(List<InterfaceHttpData> datas) throws HttpPostRequestEncoder.ErrorDataEncoderException
NullPointerException
- for datasHttpPostRequestEncoder.ErrorDataEncoderException
- if the encoding is in error or if the finalize were already donepublic void addBodyAttribute(String name, String value) throws HttpPostRequestEncoder.ErrorDataEncoderException
name
- name of the parametervalue
- the value of the parameterNullPointerException
- for nameHttpPostRequestEncoder.ErrorDataEncoderException
- if the encoding is in error or if the finalize were already donepublic void addBodyFileUpload(String name, File file, String contentType, boolean isText) throws HttpPostRequestEncoder.ErrorDataEncoderException
name
- the name of the parameterfile
- the file to be uploaded (if not Multipart mode, only the filename will be included)contentType
- the associated contentType for the FileisText
- True if this file should be transmitted in Text format (else binary)NullPointerException
- for name and fileHttpPostRequestEncoder.ErrorDataEncoderException
- if the encoding is in error or if the finalize were already donepublic void addBodyFileUploads(String name, File[] file, String[] contentType, boolean[] isText) throws HttpPostRequestEncoder.ErrorDataEncoderException
name
- the name of the parameterfile
- the array of filescontentType
- the array of content Types associated with each fileisText
- the array of isText attribute (False meaning binary mode) for each fileNullPointerException
- also throws if array have different sizesHttpPostRequestEncoder.ErrorDataEncoderException
- if the encoding is in error or if the finalize were already donepublic void addBodyHttpData(InterfaceHttpData data) throws HttpPostRequestEncoder.ErrorDataEncoderException
NullPointerException
- for dataHttpPostRequestEncoder.ErrorDataEncoderException
- if the encoding is in error or if the finalize were already donepublic HttpRequest finalizeRequest() throws HttpPostRequestEncoder.ErrorDataEncoderException
HttpPostRequestEncoder.ErrorDataEncoderException
- if the encoding is in error or if the finalize were already donepublic boolean isChunked()
public void close() throws Exception
ChunkedInput
close
in interface ChunkedInput
Exception
public HttpChunk nextChunk() throws HttpPostRequestEncoder.ErrorDataEncoderException
nextChunk
in interface ChunkedInput
HttpPostRequestEncoder.ErrorDataEncoderException
- if the encoding is in errorpublic boolean isEndOfInput() throws Exception
ChunkedInput
true
if and only if there is no data left in the stream
and the stream has reached at its end.isEndOfInput
in interface ChunkedInput
Exception
public boolean hasNextChunk() throws Exception
ChunkedInput
true
if and only if there is any data left in the
stream. Please note that false
does not necessarily mean that
the stream has reached at its end. In a slow stream, the next chunk
might be unavailable just momentarily.hasNextChunk
in interface ChunkedInput
Exception
Copyright © 2008-2014 The Netty Project. All Rights Reserved.