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
Constructors Constructor Description ExpectContinueMethod()No-arg constructor.ExpectContinueMethod(java.lang.String uri)Constructor specifying a URI.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected voidaddRequestHeaders(HttpState state, HttpConnection conn)Sets the Expect header if it has not already been set, in addition to the "standard" set of headers.booleangetUseExpectHeader()Deprecated.UseHttpMethodParamsprotected abstract booleanhasRequestContent()Returns true if there is a request body to be sent.voidsetUseExpectHeader(boolean value)Deprecated.UseHttpMethodParams-
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
-
-
-
-
Method Detail
-
getUseExpectHeader
public boolean getUseExpectHeader()
Deprecated.UseHttpMethodParamsReturns 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.UseHttpMethodParamsActivates '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 java.io.IOException, HttpException
Sets the Expect header if it has not already been set, in addition to the "standard" set of headers.- Overrides:
addRequestHeadersin classHttpMethodBase- Parameters:
state- thestateinformation associated with this methodconn- theconnectionused 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)
-
-