MultipartPostMethod (HttpClient Library (Version 3.1))
Date: 2019-09-02

org.apache.commons.httpclient.methods

## Class MultipartPostMethod

- java.lang.Object
- - org.apache.commons.httpclient.HttpMethodBase
  - - org.apache.commons.httpclient.methods.ExpectContinueMethod
    - - org.apache.commons.httpclient.methods.MultipartPostMethod

- All Implemented Interfaces:
    HttpMethod

  Deprecated.
  Use `MultipartRequestEntity` in conjunction with `PostMethod` instead.

      public class MultipartPostMethod
      extends ExpectContinueMethod

  Implements the 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.

  Since:
    2.0
  Author:
    Matthew Albright, Jeff Dever, Adrian Sutton, Mark Diggory, Mike Bowler, Oleg Kalnichevski

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `MULTIPART_FORM_CONTENT_TYPE` Deprecated. The Content-Type for multipart/form-data.

    - ### Fields inherited from class org.apache.commons.httpclient.HttpMethodBase

      `effectiveVersion, statusLine`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MultipartPostMethod()` Deprecated. No-arg constructor.
    `MultipartPostMethod(java.lang.String uri)` Deprecated. Constructor specifying a URI.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addContentLengthRequestHeader(HttpState state, HttpConnection conn)` Deprecated. Adds a `Content-Length` request header, as long as no `Content-Length` request header already exists.
    `protected void` | `addContentTypeRequestHeader(HttpState state, HttpConnection conn)` Deprecated. Adds a `Content-Type` request header.
    `void` | `addParameter(java.lang.String parameterName, java.io.File parameterFile)` Deprecated. Adds a binary file part
    `void` | `addParameter(java.lang.String parameterName, java.lang.String parameterValue)` Deprecated. Adds a text field part
    `void` | `addParameter(java.lang.String parameterName, java.lang.String fileName, java.io.File parameterFile)` Deprecated. Adds a binary file part with the given file name
    `void` | `addPart(Part part)` Deprecated. Adds a part.
    `protected void` | `addRequestHeaders(HttpState state, HttpConnection conn)` Deprecated. Populates the request headers map to with additional `headers` to be submitted to the given `HttpConnection`.
    `java.lang.String` | `getName()` Deprecated. Returns `"POST"`.
    `Part[]` | `getParts()` Deprecated. Returns all parts.
    `protected long` | `getRequestContentLength()` Deprecated. Return the length of the request body.
    `protected boolean` | `hasRequestContent()` Deprecated. Returns `true`
    `void` | `recycle()` Deprecated. no longer supported and will be removed in the future version of HttpClient
    `protected boolean` | `writeRequestBody(HttpState state, HttpConnection conn)` Deprecated. Writes the request body to the given `connection`.

    - ### Methods inherited from class org.apache.commons.httpclient.methods.ExpectContinueMethod

      `getUseExpectHeader, setUseExpectHeader`

    - ### Methods inherited from class org.apache.commons.httpclient.HttpMethodBase

      `abort, addCookieRequestHeader, addHostRequestHeader, addProxyConnectionHeader, addRequestHeader, addRequestHeader, addResponseFooter, addUserAgentRequestHeader, checkNotUsed, checkUsed, execute, generateRequestLine, getAuthenticationRealm, getContentCharSet, getDoAuthentication, getEffectiveVersion, getFollowRedirects, getHostAuthState, getHostConfiguration, getMethodRetryHandler, getParams, getPath, getProxyAuthenticationRealm, getProxyAuthState, getQueryString, getRecoverableExceptionCount, getRequestCharSet, getRequestHeader, getRequestHeaderGroup, getRequestHeaders, getRequestHeaders, getResponseBody, getResponseBody, getResponseBodyAsStream, getResponseBodyAsString, getResponseBodyAsString, getResponseCharSet, getResponseContentLength, getResponseFooter, getResponseFooters, getResponseHeader, getResponseHeaderGroup, getResponseHeaders, getResponseHeaders, getResponseStream, getResponseTrailerHeaderGroup, getStatusCode, getStatusLine, getStatusText, getURI, hasBeenUsed, isAborted, isConnectionCloseForced, isHttp11, isRequestSent, isStrictMode, processCookieHeaders, processResponseBody, processResponseHeaders, processStatusLine, readResponse, readResponseBody, readResponseHeaders, readStatusLine, releaseConnection, removeRequestHeader, removeRequestHeader, responseBodyConsumed, setConnectionCloseForced, setDoAuthentication, setFollowRedirects, setHostConfiguration, setHttp11, setMethodRetryHandler, setParams, setPath, setQueryString, setQueryString, setRequestHeader, setRequestHeader, setResponseStream, setStrictMode, setURI, shouldCloseConnection, validate, writeRequest, writeRequestHeaders, writeRequestLine`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### MULTIPART_FORM_CONTENT_TYPE

          public static final java.lang.String MULTIPART_FORM_CONTENT_TYPE

      Deprecated.
      The Content-Type for multipart/form-data.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MultipartPostMethod

          public MultipartPostMethod()

      Deprecated.
      No-arg constructor.

    - #### MultipartPostMethod

          public MultipartPostMethod(java.lang.String uri)

      Deprecated.
      Constructor specifying a URI.
      Parameters:
        `uri` - either an absolute or relative URI

  - ### Method Detail

    - #### hasRequestContent

          protected boolean hasRequestContent()

      Deprecated.
      Returns `true`
      Specified by:
        `hasRequestContent` in class `ExpectContinueMethod`
      Returns:
        `true`
      Since:
        2.0beta1

    - #### getName

          public java.lang.String getName()

      Deprecated.
      Returns `"POST"`.
      Specified by:
        `getName` in interface `HttpMethod`
      Specified by:
        `getName` in class `HttpMethodBase`
      Returns:
        `"POST"`

    - #### addParameter

          public void addParameter(java.lang.String parameterName,
                                   java.lang.String parameterValue)

      Deprecated.
      Adds a text field part
      Parameters:
        `parameterName` - The name of the parameter.
        `parameterValue` - The value of the parameter.

    - #### addParameter

          public void addParameter(java.lang.String parameterName,
                                   java.io.File parameterFile)
                            throws java.io.FileNotFoundException

      Deprecated.
      Adds a binary file part
      Parameters:
        `parameterName` - The name of the parameter
        `parameterFile` - The name of the file.
      Throws:
        `java.io.FileNotFoundException` - If the file cannot be found.

    - #### addParameter

          public void addParameter(java.lang.String parameterName,
                                   java.lang.String fileName,
                                   java.io.File parameterFile)
                            throws java.io.FileNotFoundException

      Deprecated.
      Adds a binary file part with the given file name
      Parameters:
        `parameterName` - The name of the parameter
        `fileName` - The file name
        `parameterFile` - The file
      Throws:
        `java.io.FileNotFoundException` - If the file cannot be found.

    - #### addPart

          public void addPart(Part part)

      Deprecated.
      Adds a part.
      Parameters:
        `part` - The part to add.

    - #### getParts

          public Part[] getParts()

      Deprecated.
      Returns all parts.
      Returns:
        an array of containing all parts

    - #### addContentLengthRequestHeader

          protected void addContentLengthRequestHeader(HttpState state,
                                                       HttpConnection conn)
                                                throws java.io.IOException,
                                                       HttpException

      Deprecated.
      Adds a `Content-Length` request header, as long as no `Content-Length` request header already exists.
      Parameters:
        `state` - current state of http requests
        `conn` - the connection to use for I/O
      Throws:
        `java.io.IOException` - if an I/O (transport) error occurs. Some transport exceptions can be recovered from.
        `HttpException` - if a protocol exception occurs. Usually protocol exceptions cannot be recovered from.
      Since:
        3.0

    - #### addContentTypeRequestHeader

          protected void addContentTypeRequestHeader(HttpState state,
                                                     HttpConnection conn)
                                              throws java.io.IOException,
                                                     HttpException

      Deprecated.
      Adds a `Content-Type` request header.
      Parameters:
        `state` - current state of http requests
        `conn` - the connection to use for I/O
      Throws:
        `java.io.IOException` - if an I/O (transport) error occurs. Some transport exceptions can be recovered from.
        `HttpException` - if a protocol exception occurs. Usually protocol exceptions cannot be recovered from.
      Since:
        3.0

    - #### addRequestHeaders

          protected void addRequestHeaders(HttpState state,
                                           HttpConnection conn)
                                    throws java.io.IOException,
                                           HttpException

      Deprecated.
      Populates the request headers map to with additional `headers` to be submitted to the given `HttpConnection`.

      This implementation adds tt>Content-Length and `Content-Type` headers, when appropriate.

      Subclasses may want to override this method to to add additional headers, and may choose to invoke this implementation (via `super`) to add the "standard" headers.

      Overrides:
        `addRequestHeaders` in class `ExpectContinueMethod`
      Parameters:
        `state` - the `state` information associated with this method
        `conn` - the `connection` used to execute this HTTP method
      Throws:
        `java.io.IOException` - if an I/O (transport) error occurs. Some transport exceptions can be recovered from.
        `HttpException` - if a protocol exception occurs. Usually protocol exceptions cannot be recovered from.
      See Also:
        `HttpMethodBase.writeRequestHeaders(org.apache.commons.httpclient.HttpState, org.apache.commons.httpclient.HttpConnection)`

    - #### writeRequestBody

          protected boolean writeRequestBody(HttpState state,
                                             HttpConnection conn)
                                      throws java.io.IOException,
                                             HttpException

      Deprecated.
      Writes the request body to the given `connection`.
      Overrides:
        `writeRequestBody` in class `HttpMethodBase`
      Parameters:
        `state` - the `state` information associated with this method
        `conn` - the `connection` used to execute this HTTP method
      Returns:
        `true`
      Throws:
        `java.io.IOException` - if an I/O (transport) error occurs. Some transport exceptions can be recovered from.
        `HttpException` - if a protocol exception occurs. Usually protocol exceptions cannot be recovered from.

    - #### getRequestContentLength

          protected long getRequestContentLength()
                                          throws java.io.IOException

      Deprecated.

      Return the length of the request body.

      Once this method has been invoked, the request parameters cannot be altered until the method is `recycled`.

      Returns:
        The request content length.
      Throws:
        `java.io.IOException`

    - #### recycle

          public void recycle()

      Deprecated. no longer supported and will be removed in the future version of HttpClient
      Recycles the HTTP method so that it can be used again. Note that all of the instance variables will be reset once this method has been called. This method will also release the connection being used by this HTTP method.
      Specified by:
        `recycle` in interface `HttpMethod`
      Overrides:
        `recycle` in class `HttpMethodBase`
      See Also:
        `HttpMethodBase.releaseConnection()`

Copyright (c) 1999-2005 - Apache Software Foundation