Class MultipartRequestEntity

java.lang.Object
org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity
All Implemented Interfaces:
RequestEntity

@Deprecated public class MultipartRequestEntity extends Object implements RequestEntity
Deprecated.
Jakarta Commons HttpClient 3.x is deprecated in the Jenkins project. It is not recommended to use it in any new code. Instead, use HTTP client API plugins as a dependency in your code. E.g. Apache HttpComponents Client API 4.x Plugin or Async HTTP Client Plugin.
Implements a request entity suitable for an HTTP multipart POST method.

The HTTP multipart POST method is defined in section 3.3 of RFC1867:

The media-type multipart/form-data follows the rules of all multipart MIME data streams as outlined in RFC 1521. The multipart/form-data contains a series of parts. Each part is expected to contain a content-disposition header where the value is "form-data" and a name attribute specifies the field name within the form, e.g., 'content-disposition: form-data; name="xxxxx"', where xxxxx is the field name corresponding to that field. Field names originally in non-ASCII character sets may be encoded using the method outlined in RFC 1522.

This entity is designed to be used in conjunction with the post method to provide multipart posts. Example usage:

  File f = new File("/path/fileToUpload.txt");
  PostMethod filePost = new PostMethod("http://host/some_path");
  Part[] parts = {
      new StringPart("param_name", "value"),
      new FilePart(f.getName(), f)
  };
  filePost.setRequestEntity(
      new MultipartRequestEntity(parts, filePost.getParams())
      );
  HttpClient client = new HttpClient();
  int status = client.executeMethod(filePost);
 
Since:
3.0
  • Constructor Details

    • MultipartRequestEntity

      public MultipartRequestEntity(Part[] parts, HttpMethodParams params)
      Deprecated.
      Creates a new multipart entity containing the given parts.
      Parameters:
      parts - The parts to include.
      params - The params of the HttpMethod using this entity.
  • Method Details

    • isRepeatable

      public boolean isRepeatable()
      Deprecated.
      Returns true if all parts are repeatable, false otherwise.
      Specified by:
      isRepeatable in interface RequestEntity
      Returns:
      true if the entity can be written to OutputStream more than once, false otherwise.
      See Also:
    • writeRequest

      public void writeRequest(OutputStream out) throws IOException
      Deprecated.
      Description copied from interface: RequestEntity
      Writes the request entity to the given stream.
      Specified by:
      writeRequest in interface RequestEntity
      Parameters:
      out -
      Throws:
      IOException
    • getContentLength

      public long getContentLength()
      Deprecated.
      Description copied from interface: RequestEntity
      Gets the request entity's length. This method should return a non-negative value if the content length is known or a negative value if it is not. In the latter case the EntityEnclosingMethod will use chunk encoding to transmit the request entity.
      Specified by:
      getContentLength in interface RequestEntity
      Returns:
      a non-negative value when content length is known or a negative value when content length is not known
    • getContentType

      public String getContentType()
      Deprecated.
      Description copied from interface: RequestEntity
      Gets the entity's content type. This content type will be used as the value for the "Content-Type" header.
      Specified by:
      getContentType in interface RequestEntity
      Returns:
      the entity's content type
      See Also: