Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.httpclient.methods
Class ExpectContinueMethod

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

All Implemented Interfaces:
  HttpMethod

Direct Known Subclasses:
  EntityEnclosingMethod, MultipartPostMethod

    public abstract class ExpectContinueMethod

extends HttpMethodBase

This abstract class serves as a foundation for all HTTP methods that support 'Expect: 100-continue' handshake.

The purpose of the 100 (Continue) status (refer to section 10.1.1 of the RFC 2616 for more details) is to allow a client that is sending a request message with a request body to determine if the origin server is willing to accept the request (based on the request headers) before the client sends the request body. In some cases, it might either be inappropriate or highly inefficient for the client to send the body if the server will reject the message without looking at the body.

'Expect: 100-continue' handshake should be used with caution, as it may cause problems with HTTP servers and proxies that do not support HTTP/1.1 protocol.

Since:
  2.0beta1
Author:
  Oleg Kalnichevski

Field Summary

Fields inherited from class org.apache.commons.httpclient.HttpMethodBase
`effectiveVersion, statusLine`

Constructor Summary
`ExpectContinueMethod()` No-arg constructor.
`ExpectContinueMethod(String uri)` Constructor specifying a URI.

Method Summary
`protected void` | `addRequestHeaders(HttpState state, HttpConnection conn)` Sets the `Expect` header if it has not already been set, in addition to the "standard" set of headers.
`boolean` | `getUseExpectHeader()` Deprecated. Use `HttpMethodParams`
`protected abstract boolean` | `hasRequestContent()` Returns `true` if there is a request body to be sent.
`void` | `setUseExpectHeader(boolean value)` Deprecated. Use `HttpMethodParams`

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, getName, 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, recycle, releaseConnection, removeRequestHeader, removeRequestHeader, responseBodyConsumed, setConnectionCloseForced, setDoAuthentication, setFollowRedirects, setHostConfiguration, setHttp11, setMethodRetryHandler, setParams, setPath, setQueryString, setQueryString, setRequestHeader, setRequestHeader, setResponseStream, setStrictMode, setURI, shouldCloseConnection, validate, writeRequest, writeRequestBody, writeRequestHeaders, writeRequestLine`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ExpectContinueMethod

    public ExpectContinueMethod()

  No-arg constructor.

  Since:
    2.0

### ExpectContinueMethod

    public ExpectContinueMethod(String uri)

  Constructor specifying a URI.

  Parameters:
    `uri` - either an absolute or relative URI
  Since:
    2.0

Method Detail

### getUseExpectHeader

    public boolean getUseExpectHeader()

  Deprecated. Use `HttpMethodParams`

  Returns `true` if the 'Expect: 100-Continue' handshake is activated. The purpose of the 'Expect: 100-Continue' handshake to allow a client that is sending a request message with a request body to determine if the origin server is willing to accept the request (based on the request headers) before the client sends the request body.

  Returns:
    `true` if 'Expect: 100-Continue' handshake is to be used, `false` otherwise.
  Since:
    2.0beta1
  See Also:
    `HttpMethodBase.getParams()`, `HttpMethodParams`, `HttpMethodParams.USE_EXPECT_CONTINUE`

### setUseExpectHeader

    public void setUseExpectHeader(boolean value)

  Deprecated. Use `HttpMethodParams`

  Activates 'Expect: 100-Continue' handshake. The purpose of the 'Expect: 100-Continue' handshake to allow a client that is sending a request message with a request body to determine if the origin server is willing to accept the request (based on the request headers) before the client sends the request body.

  The use of the 'Expect: 100-continue' handshake can result in noticable peformance improvement for entity enclosing requests (such as POST and PUT) that require the target server's authentication.

  'Expect: 100-continue' handshake should be used with caution, as it may cause problems with HTTP servers and proxies that do not support HTTP/1.1 protocol.

  Parameters:
    `value` - boolean value
  Since:
    2.0beta1
  See Also:
    `HttpMethodBase.getParams()`, `HttpMethodParams`, `HttpMethodParams.USE_EXPECT_CONTINUE`

### hasRequestContent

    protected abstract boolean hasRequestContent()

  Returns `true` if there is a request body to be sent. 'Expect: 100-continue' handshake may not be used if request body is not present

  Returns:
    boolean
  Since:
    2.0beta1

### addRequestHeaders

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

  Sets the `Expect` header if it has not already been set, in addition to the "standard" set of headers.

  Overrides:
    `addRequestHeaders` in class `HttpMethodBase`
  Parameters:
    `state` - the `state` information associated with this method
    `conn` - the `connection` used to execute this HTTP method
  Throws:
    `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)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2007 Apache Software Foundation. All Rights Reserved.