Class EntityEnclosingMethod
- All Implemented Interfaces:
HttpMethod
- Direct Known Subclasses:
PostMethod
,PutMethod
- Since:
- 2.0beta1
- Version:
- $Revision: 480424 $
-
Field Summary
Modifier and TypeFieldDescriptionstatic final long
Deprecated.static final long
Deprecated.Fields inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.HttpMethodBase
effectiveVersion, statusLine
-
Constructor Summary
ConstructorDescriptionNo-arg constructor.Constructor specifying a URI. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addContentLengthRequestHeader
(HttpState state, HttpConnection conn) Generates Content-Length or Transfer-Encoding: Chunked request header, as long as no Content-Length request header already exists.protected void
addRequestHeaders
(HttpState state, HttpConnection conn) Populates the request headers map to with additionalheaders
to be submitted to the givenHttpConnection
.protected void
Clears the request body.protected byte[]
Generates the request body.protected RequestEntity
boolean
Entity enclosing requests cannot be redirected without user intervention according to RFC 2616.Returns the request's charset.protected long
Returns the length of the request body.protected boolean
Returns true if there is a request body to be sent.void
recycle()
Deprecated.no longer supported and will be removed in the future version of HttpClientvoid
setContentChunked
(boolean chunked) Sets whether or not the content should be chunked.void
setFollowRedirects
(boolean followRedirects) Entity enclosing requests cannot be redirected without user intervention according to RFC 2616.void
setRequestBody
(InputStream body) Deprecated.void
setRequestBody
(String body) Deprecated.void
setRequestContentLength
(int length) Deprecated.void
setRequestContentLength
(long length) Deprecated.void
setRequestEntity
(RequestEntity requestEntity) protected boolean
writeRequestBody
(HttpState state, HttpConnection conn) Writes the request body to the givenconnection
.Methods inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.methods.ExpectContinueMethod
getUseExpectHeader, setUseExpectHeader
Methods inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.HttpMethodBase
abort, addCookieRequestHeader, addHostRequestHeader, addProxyConnectionHeader, addRequestHeader, addRequestHeader, addResponseFooter, addUserAgentRequestHeader, checkNotUsed, checkUsed, execute, generateRequestLine, getAuthenticationRealm, getContentCharSet, getDoAuthentication, getEffectiveVersion, getHostAuthState, getHostConfiguration, getMethodRetryHandler, getName, getParams, getPath, getProxyAuthenticationRealm, getProxyAuthState, getQueryString, getRecoverableExceptionCount, 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, setHostConfiguration, setHttp11, setMethodRetryHandler, setParams, setPath, setQueryString, setQueryString, setRequestHeader, setRequestHeader, setResponseStream, setStrictMode, setURI, shouldCloseConnection, validate, writeRequest, writeRequestHeaders, writeRequestLine
-
Field Details
-
CONTENT_LENGTH_AUTO
public static final long CONTENT_LENGTH_AUTODeprecated.The content length will be calculated automatically. This implies buffering of the content.- See Also:
-
CONTENT_LENGTH_CHUNKED
public static final long CONTENT_LENGTH_CHUNKEDDeprecated.The request will use chunked transfer encoding. Content length is not calculated and the content is not buffered.- See Also:
-
-
Constructor Details
-
EntityEnclosingMethod
public EntityEnclosingMethod()No-arg constructor.- Since:
- 2.0
-
EntityEnclosingMethod
Constructor specifying a URI.- Parameters:
uri
- either an absolute or relative URI- Since:
- 2.0
-
-
Method Details
-
hasRequestContent
protected boolean hasRequestContent()Returns true if there is a request body to be sent.This method must be overridden by sub-classes that implement alternative request content input methods
- Specified by:
hasRequestContent
in classExpectContinueMethod
- Returns:
- boolean
- Since:
- 2.0beta1
-
clearRequestBody
protected void clearRequestBody()Clears the request body.This method must be overridden by sub-classes that implement alternative request content input methods.
- Since:
- 2.0beta1
-
generateRequestBody
protected byte[] generateRequestBody()Generates the request body.This method must be overridden by sub-classes that implement alternative request content input methods.
- Returns:
- request body as an array of bytes. If the request content has not been set, returns null.
- Since:
- 2.0beta1
-
generateRequestEntity
-
getFollowRedirects
public boolean getFollowRedirects()Entity enclosing requests cannot be redirected without user intervention according to RFC 2616.- Specified by:
getFollowRedirects
in interfaceHttpMethod
- Overrides:
getFollowRedirects
in classHttpMethodBase
- Returns:
false
.- Since:
- 2.0
-
setFollowRedirects
public void setFollowRedirects(boolean followRedirects) Entity enclosing requests cannot be redirected without user intervention according to RFC 2616.- Specified by:
setFollowRedirects
in interfaceHttpMethod
- Overrides:
setFollowRedirects
in classHttpMethodBase
- Parameters:
followRedirects
- must always befalse
-
setRequestContentLength
public void setRequestContentLength(int length) Deprecated.Sets length information about the request body.Note: If you specify a content length the request is unbuffered. This prevents redirection and automatic retry if a request fails the first time. This means that the HttpClient can not perform authorization automatically but will throw an Exception. You will have to set the necessary 'Authorization' or 'Proxy-Authorization' headers manually.
- Parameters:
length
- size in bytes or any of CONTENT_LENGTH_AUTO, CONTENT_LENGTH_CHUNKED. If number of bytes or CONTENT_LENGTH_CHUNKED is specified the content will not be buffered internally and the Content-Length header of the request will be used. In this case the user is responsible to supply the correct content length. If CONTENT_LENGTH_AUTO is specified the request will be buffered before it is sent over the network.
-
getRequestCharSet
Returns the request's charset. The charset is parsed from the request entity's content type, unless the content type header has been set manually.- Overrides:
getRequestCharSet
in classHttpMethodBase
- Returns:
- String The character set.
- Since:
- 3.0
- See Also:
-
setRequestContentLength
public void setRequestContentLength(long length) Deprecated.Sets length information about the request body.Note: If you specify a content length the request is unbuffered. This prevents redirection and automatic retry if a request fails the first time. This means that the HttpClient can not perform authorization automatically but will throw an Exception. You will have to set the necessary 'Authorization' or 'Proxy-Authorization' headers manually.
- Parameters:
length
- size in bytes or any of CONTENT_LENGTH_AUTO, CONTENT_LENGTH_CHUNKED. If number of bytes or CONTENT_LENGTH_CHUNKED is specified the content will not be buffered internally and the Content-Length header of the request will be used. In this case the user is responsible to supply the correct content length. If CONTENT_LENGTH_AUTO is specified the request will be buffered before it is sent over the network.
-
setContentChunked
public void setContentChunked(boolean chunked) Sets whether or not the content should be chunked.- Parameters:
chunked
-true
if the content should be chunked- Since:
- 3.0
-
getRequestContentLength
protected long getRequestContentLength()Returns the length of the request body.- Returns:
- number of bytes in the request body
-
addRequestHeaders
protected void addRequestHeaders(HttpState state, HttpConnection conn) throws IOException, HttpException Populates the request headers map to with additionalheaders
to be submitted to the givenHttpConnection
.This implementation adds tt>Content-Length or Transfer-Encoding headers.
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 classExpectContinueMethod
- Parameters:
state
- thestate
information associated with this methodconn
- theconnection
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.- Since:
- 3.0
- See Also:
-
addContentLengthRequestHeader
protected void addContentLengthRequestHeader(HttpState state, HttpConnection conn) throws IOException, HttpException Generates Content-Length or Transfer-Encoding: Chunked request header, as long as no Content-Length request header already exists.- Parameters:
state
- current state of http requestsconn
- the connection to use for I/O- Throws:
IOException
- when errors occur reading or writing to/from the connectionHttpException
- when a recoverable error occurs
-
setRequestBody
Deprecated.Sets the request body to be the specified inputstream.- Parameters:
body
- Request body content asInputStream
-
setRequestBody
Deprecated.Sets the request body to be the specified string. The string will be submitted, using the encoding specified in the Content-Type request header.
Example:setRequestHeader("Content-type", "text/xml; charset=UTF-8");
Would use the UTF-8 encoding. If no charset is specified, thedefault
content encoding is used (ISO-8859-1).- Parameters:
body
- Request body content as a string
-
writeRequestBody
protected boolean writeRequestBody(HttpState state, HttpConnection conn) throws IOException, HttpException Writes the request body to the givenconnection
.- Overrides:
writeRequestBody
in classHttpMethodBase
- Parameters:
state
- thestate
information associated with this methodconn
- theconnection
used to execute this HTTP method- Returns:
- true
- 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.
-
recycle
public void recycle()Deprecated.no longer supported and will be removed in the future version of HttpClientRecycles 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 interfaceHttpMethod
- Overrides:
recycle
in classHttpMethodBase
- See Also:
-
getRequestEntity
- Returns:
- Returns the requestEntity.
- Since:
- 3.0
-
setRequestEntity
- Parameters:
requestEntity
- The requestEntity to set.- Since:
- 3.0
-
InputStreamRequestEntity.CONTENT_LENGTH_AUTO
.