Class MultipartEntityBuilder
- java.lang.Object
-
- org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder
-
public class MultipartEntityBuilder extends java.lang.Object
Builder for multipartHttpEntity
s.- Since:
- 5.0
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
boundary
private java.nio.charset.Charset
charset
private org.apache.hc.core5.http.ContentType
contentType
private static org.apache.hc.core5.http.NameValuePair[]
EMPTY_NAME_VALUE_ARRAY
An empty immutableNameValuePair
array.private java.lang.String
epilogue
The epilogue of the multipart message.private HttpMultipartMode
mode
private static char[]
MULTIPART_CHARS
The pool of ASCII chars to be used for generating a multipart boundary.private java.util.List<MultipartPart>
multipartParts
private java.lang.String
preamble
The preamble of the multipart message.
-
Constructor Summary
Constructors Constructor Description MultipartEntityBuilder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description MultipartEntityBuilder
addBinaryBody(java.lang.String name, byte[] b)
MultipartEntityBuilder
addBinaryBody(java.lang.String name, byte[] b, org.apache.hc.core5.http.ContentType contentType, java.lang.String filename)
MultipartEntityBuilder
addBinaryBody(java.lang.String name, java.io.File file)
MultipartEntityBuilder
addBinaryBody(java.lang.String name, java.io.File file, org.apache.hc.core5.http.ContentType contentType, java.lang.String filename)
MultipartEntityBuilder
addBinaryBody(java.lang.String name, java.io.InputStream stream)
MultipartEntityBuilder
addBinaryBody(java.lang.String name, java.io.InputStream stream, org.apache.hc.core5.http.ContentType contentType, java.lang.String filename)
MultipartEntityBuilder
addEpilogue(java.lang.String epilogue)
Adds an epilogue to the multipart entity being constructed.MultipartEntityBuilder
addParameter(org.apache.hc.core5.http.message.BasicNameValuePair parameter)
Add parameter to the currentContentType
.MultipartEntityBuilder
addPart(java.lang.String name, ContentBody contentBody)
MultipartEntityBuilder
addPart(MultipartPart multipartPart)
MultipartEntityBuilder
addPreamble(java.lang.String preamble)
Adds a preamble to the multipart entity being constructed.MultipartEntityBuilder
addTextBody(java.lang.String name, java.lang.String text)
MultipartEntityBuilder
addTextBody(java.lang.String name, java.lang.String text, org.apache.hc.core5.http.ContentType contentType)
org.apache.hc.core5.http.HttpEntity
build()
(package private) MultipartFormEntity
buildEntity()
static MultipartEntityBuilder
create()
private java.lang.String
generateBoundary()
MultipartEntityBuilder
setBoundary(java.lang.String boundary)
MultipartEntityBuilder
setCharset(java.nio.charset.Charset charset)
MultipartEntityBuilder
setContentType(org.apache.hc.core5.http.ContentType contentType)
MultipartEntityBuilder
setLaxMode()
MultipartEntityBuilder
setMimeSubtype(java.lang.String subType)
MultipartEntityBuilder
setMode(HttpMultipartMode mode)
MultipartEntityBuilder
setStrictMode()
-
-
-
Field Detail
-
MULTIPART_CHARS
private static final char[] MULTIPART_CHARS
The pool of ASCII chars to be used for generating a multipart boundary.
-
contentType
private org.apache.hc.core5.http.ContentType contentType
-
mode
private HttpMultipartMode mode
-
boundary
private java.lang.String boundary
-
charset
private java.nio.charset.Charset charset
-
multipartParts
private java.util.List<MultipartPart> multipartParts
-
preamble
private java.lang.String preamble
The preamble of the multipart message. This field stores the optional preamble that should be added at the beginning of the multipart message. It can benull
if no preamble is needed.
-
epilogue
private java.lang.String epilogue
The epilogue of the multipart message. This field stores the optional epilogue that should be added at the end of the multipart message. It can benull
if no epilogue is needed.
-
EMPTY_NAME_VALUE_ARRAY
private static final org.apache.hc.core5.http.NameValuePair[] EMPTY_NAME_VALUE_ARRAY
An empty immutableNameValuePair
array.
-
-
Method Detail
-
create
public static MultipartEntityBuilder create()
-
setMode
public MultipartEntityBuilder setMode(HttpMultipartMode mode)
-
setLaxMode
public MultipartEntityBuilder setLaxMode()
-
setStrictMode
public MultipartEntityBuilder setStrictMode()
-
setBoundary
public MultipartEntityBuilder setBoundary(java.lang.String boundary)
-
setMimeSubtype
public MultipartEntityBuilder setMimeSubtype(java.lang.String subType)
- Since:
- 4.4
-
setContentType
public MultipartEntityBuilder setContentType(org.apache.hc.core5.http.ContentType contentType)
- Since:
- 4.5
-
addParameter
public MultipartEntityBuilder addParameter(org.apache.hc.core5.http.message.BasicNameValuePair parameter)
Add parameter to the currentContentType
.- Parameters:
parameter
- The name-value pair parameter to add to theContentType
.- Returns:
- the
MultipartEntityBuilder
instance. - Since:
- 5.2
-
setCharset
public MultipartEntityBuilder setCharset(java.nio.charset.Charset charset)
-
addPart
public MultipartEntityBuilder addPart(MultipartPart multipartPart)
- Since:
- 4.4
-
addPart
public MultipartEntityBuilder addPart(java.lang.String name, ContentBody contentBody)
-
addTextBody
public MultipartEntityBuilder addTextBody(java.lang.String name, java.lang.String text, org.apache.hc.core5.http.ContentType contentType)
-
addTextBody
public MultipartEntityBuilder addTextBody(java.lang.String name, java.lang.String text)
-
addBinaryBody
public MultipartEntityBuilder addBinaryBody(java.lang.String name, byte[] b, org.apache.hc.core5.http.ContentType contentType, java.lang.String filename)
-
addBinaryBody
public MultipartEntityBuilder addBinaryBody(java.lang.String name, byte[] b)
-
addBinaryBody
public MultipartEntityBuilder addBinaryBody(java.lang.String name, java.io.File file, org.apache.hc.core5.http.ContentType contentType, java.lang.String filename)
-
addBinaryBody
public MultipartEntityBuilder addBinaryBody(java.lang.String name, java.io.File file)
-
addBinaryBody
public MultipartEntityBuilder addBinaryBody(java.lang.String name, java.io.InputStream stream, org.apache.hc.core5.http.ContentType contentType, java.lang.String filename)
-
addBinaryBody
public MultipartEntityBuilder addBinaryBody(java.lang.String name, java.io.InputStream stream)
-
addPreamble
public MultipartEntityBuilder addPreamble(java.lang.String preamble)
Adds a preamble to the multipart entity being constructed. The preamble is the text that appears before the first boundary delimiter. The preamble is optional and may be null.- Parameters:
preamble
- The preamble text to add to the multipart entity- Returns:
- This MultipartEntityBuilder instance, to allow for method chaining
- Since:
- 5.3
-
addEpilogue
public MultipartEntityBuilder addEpilogue(java.lang.String epilogue)
Adds an epilogue to the multipart entity being constructed. The epilogue is the text that appears after the last boundary delimiter. The epilogue is optional and may be null.- Parameters:
epilogue
- The epilogue text to add to the multipart entity- Returns:
- This MultipartEntityBuilder instance, to allow for method chaining
- Since:
- 5.3
-
generateBoundary
private java.lang.String generateBoundary()
-
buildEntity
MultipartFormEntity buildEntity()
-
build
public org.apache.hc.core5.http.HttpEntity build()
-
-