Class EntityEnclosingMethod
- All Implemented Interfaces:
HttpMethod
- Direct Known Subclasses:
PostMethod, PutMethod
- Since:
- 2.0beta1
- Version:
- $Revision: 480424 $
- Author:
- Oleg Kalnichevski, Jeff Dever
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longDeprecated.static final longDeprecated.Fields inherited from class HttpMethodBase
effectiveVersion, statusLine -
Constructor Summary
ConstructorsConstructorDescriptionNo-arg constructor.Constructor specifying a URI. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddContentLengthRequestHeader(HttpState state, HttpConnection conn) Generates Content-Length or Transfer-Encoding: Chunked request header, as long as no Content-Length request header already exists.protected voidaddRequestHeaders(HttpState state, HttpConnection conn) Populates the request headers map to with additionalheadersto be submitted to the givenHttpConnection.protected voidClears the request body.protected byte[]Generates the request body.protected RequestEntitybooleanEntity enclosing requests cannot be redirected without user intervention according to RFC 2616.Returns the request's charset.protected longReturns the length of the request body.protected booleanReturns true if there is a request body to be sent.voidrecycle()Deprecated.no longer supported and will be removed in the future version of HttpClientvoidsetContentChunked(boolean chunked) Sets whether or not the content should be chunked.voidsetFollowRedirects(boolean followRedirects) Entity enclosing requests cannot be redirected without user intervention according to RFC 2616.voidsetRequestBody(InputStream body) Deprecated.voidsetRequestBody(String body) Deprecated.voidsetRequestContentLength(int length) Deprecated.voidsetRequestContentLength(long length) Deprecated.voidsetRequestEntity(RequestEntity requestEntity) protected booleanwriteRequestBody(HttpState state, HttpConnection conn) Writes the request body to the givenconnection.Methods inherited from class ExpectContinueMethod
getUseExpectHeader, setUseExpectHeaderMethods inherited from class 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:
hasRequestContentin 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:
getFollowRedirectsin interfaceHttpMethod- Overrides:
getFollowRedirectsin 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:
setFollowRedirectsin interfaceHttpMethod- Overrides:
setFollowRedirectsin 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:
getRequestCharSetin 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-trueif 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 additionalheadersto 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:
addRequestHeadersin classExpectContinueMethod- Parameters:
state- thestateinformation associated with this methodconn- theconnectionused 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, thedefaultcontent 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:
writeRequestBodyin classHttpMethodBase- Parameters:
state- thestateinformation associated with this methodconn- theconnectionused 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:
recyclein interfaceHttpMethod- Overrides:
recyclein 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.