Class MultiPartRequestContent

java.lang.Object
org.eclipse.jetty.http.MultiPart.AbstractContentSource
org.eclipse.jetty.http.MultiPartFormData.ContentSource
org.eclipse.jetty.client.MultiPartRequestContent
All Implemented Interfaces:
Closeable, AutoCloseable, Request.Content, org.eclipse.jetty.io.Content.Source

public class MultiPartRequestContent extends org.eclipse.jetty.http.MultiPartFormData.ContentSource implements Request.Content

A Request.Content for form uploads with the "multipart/form-data" content type.

Example usage:

 MultiPartRequestContent multiPart = new MultiPartRequestContent();
 multiPart.addPart(new MultiPart.ContentSourcePart("field", null, HttpFields.EMPTY, new StringRequestContent("foo")));
 multiPart.addPart(new MultiPart.PathPart("icon", "img.png", HttpFields.EMPTY, Path.of("/tmp/img.png")));
 multiPart.close();
 ContentResponse response = client.newRequest("localhost", connector.getLocalPort())
         .method(HttpMethod.POST)
         .body(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 interface org.eclipse.jetty.io.Content.Source

    org.eclipse.jetty.io.Content.Source.Factory
  • Constructor Summary

    Constructors
    Constructor
    Description
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.eclipse.jetty.http.HttpFields
    customizePartHeaders(org.eclipse.jetty.http.MultiPart.Part part)
     
     

    Methods inherited from class org.eclipse.jetty.http.MultiPart.AbstractContentSource

    addPart, close, demand, fail, getBoundary, getLength, getPartHeadersMaxLength, read, setPartHeadersMaxLength

    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.io.Content.Source

    demand, fail, fail, getLength, read, rewind
  • Constructor Details

    • MultiPartRequestContent

      public MultiPartRequestContent()
    • MultiPartRequestContent

      public MultiPartRequestContent(String boundary)
  • Method Details

    • getContentType

      public String getContentType()
      Specified by:
      getContentType in interface Request.Content
      Returns:
      the value of the Content-Type header for the request content, such as text/html;charset=utf-8 or application/json, or null to use the value from HttpClient.getDefaultRequestContentType()
    • customizePartHeaders

      protected org.eclipse.jetty.http.HttpFields customizePartHeaders(org.eclipse.jetty.http.MultiPart.Part part)
      Overrides:
      customizePartHeaders in class org.eclipse.jetty.http.MultiPartFormData.ContentSource