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.ProducerNested classes/interfaces inherited from interface org.eclipse.jetty.client.api.Request.Content
Request.Content.Consumer, Request.Content.Subscription -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddFieldPart(String name, Request.Content content, HttpFields fields) Adds a field part with the givennameas field name, and the givencontentas part content.voidaddFilePart(String name, String fileName, Request.Content content, HttpFields fields) Adds a file part with the givennameas field name, the givenfileNameas file name, and the givencontentas part content.voidclose()voidFails this request content, possibly failing and discarding accumulated content that was not demanded.longprotected Request.Content.SubscriptionnewSubscription(Request.Content.Consumer consumer, boolean emitInitialContent) Methods inherited from class org.eclipse.jetty.client.util.AbstractRequestContent
getContentType, subscribeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
getLengthin 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:
newSubscriptionin classAbstractRequestContent
-
fail
Description copied from interface:Request.ContentFails 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:
failin interfaceRequest.Content- Parameters:
failure- the reason of the failure
-
addFieldPart
Adds a field part with the given
nameas field name, and the givencontentas part content.The
Content-Typeof this part will be obtained from:- the
Content-Typeheader in thefieldsparameter; 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
nameas field name, the givenfileNameas file name, and the givencontentas part content.The
Content-Typeof this part will be obtained from:- the
Content-Typeheader in thefieldsparameter; 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:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-