Class MultiPartRequestContent
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Request.Content
A Request.Content
for form uploads with the "multipart/form-data"
content type.
Example usage:
MultiPartRequestContent multiPart = new MultiPartRequestContent(); multiPart.addFieldPart("field", new StringRequestContent("foo"), null); multiPart.addFilePart("icon", "img.png", new PathRequestContent(Paths.get("/tmp/img.png")), null); multiPart.close(); ContentResponse response = client.newRequest("localhost", connector.getLocalPort()) .method(HttpMethod.POST) .content(multiPart) .send();
The above example would be the equivalent of submitting this form:
<form method="POST" enctype="multipart/form-data" accept-charset="UTF-8"> <input type="text" name="field" value="foo" /> <input type="file" name="icon" /> </form>
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.client.util.AbstractRequestContent
AbstractRequestContent.AbstractSubscription, AbstractRequestContent.Producer
Nested classes/interfaces inherited from interface org.eclipse.jetty.client.api.Request.Content
Request.Content.Consumer, Request.Content.Subscription
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addFieldPart
(String name, Request.Content content, HttpFields fields) Adds a field part with the givenname
as field name, and the givencontent
as part content.void
addFilePart
(String name, String fileName, Request.Content content, HttpFields fields) Adds a file part with the givenname
as field name, the givenfileName
as file name, and the givencontent
as part content.void
close()
void
Fails this request content, possibly failing and discarding accumulated content that was not demanded.long
protected Request.Content.Subscription
newSubscription
(Request.Content.Consumer consumer, boolean emitInitialContent) Methods inherited from class org.eclipse.jetty.client.util.AbstractRequestContent
getContentType, subscribe
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.client.api.Request.Content
isReproducible
-
Constructor Details
-
MultiPartRequestContent
public MultiPartRequestContent() -
MultiPartRequestContent
-
-
Method Details
-
getLength
public long getLength()- Specified by:
getLength
in interfaceRequest.Content
- Returns:
- the content length, if known, or -1 if the content length is unknown
-
newSubscription
protected Request.Content.Subscription newSubscription(Request.Content.Consumer consumer, boolean emitInitialContent) - Specified by:
newSubscription
in classAbstractRequestContent
-
fail
Description copied from interface:Request.Content
Fails this request content, possibly failing and discarding accumulated content that was not demanded.
The failure may be notified to the consumer at a later time, when the consumer demands for content.
Typical failure: the request being aborted by user code, or idle timeouts.
- Specified by:
fail
in interfaceRequest.Content
- Parameters:
failure
- the reason of the failure
-
addFieldPart
Adds a field part with the given
name
as field name, and the givencontent
as part content.The
Content-Type
of this part will be obtained from:- the
Content-Type
header in thefields
parameter; otherwise - the
Request.Content.getContentType()
- Parameters:
name
- the part namecontent
- the part contentfields
- the headers associated with this part
- the
-
addFilePart
Adds a file part with the given
name
as field name, the givenfileName
as file name, and the givencontent
as part content.The
Content-Type
of this part will be obtained from:- the
Content-Type
header in thefields
parameter; otherwise - the
Request.Content.getContentType()
- Parameters:
name
- the part namefileName
- the file name associated to this partcontent
- the part contentfields
- the headers associated with this part
- the
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-