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.
effectiveVersion, statusLine
Constructor and Description |
---|
ExpectContinueMethod()
No-arg constructor.
|
ExpectContinueMethod(String uri)
Constructor specifying a URI.
|
Modifier and Type | Method and Description |
---|---|
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 |
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
public ExpectContinueMethod()
public ExpectContinueMethod(String uri)
uri
- either an absolute or relative URIpublic boolean getUseExpectHeader()
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.
HttpMethodBase.getParams()
,
HttpMethodParams
,
HttpMethodParams.USE_EXPECT_CONTINUE
public void setUseExpectHeader(boolean value)
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.
value
- boolean valueHttpMethodBase.getParams()
,
HttpMethodParams
,
HttpMethodParams.USE_EXPECT_CONTINUE
protected abstract boolean hasRequestContent()
protected void addRequestHeaders(HttpState state, HttpConnection conn) throws IOException, HttpException
addRequestHeaders
in class HttpMethodBase
state
- the state
information associated with this methodconn
- the connection
used to execute
this HTTP methodIOException
- 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.HttpMethodBase.writeRequestHeaders(edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.HttpState, edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.HttpConnection)
Copyright © 2016 Internet2. All rights reserved.