Class PostMethod
java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.HttpMethodBase
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.methods.ExpectContinueMethod
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.methods.EntityEnclosingMethod
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.methods.PostMethod
- All Implemented Interfaces:
HttpMethod
Implements the HTTP POST method.
The HTTP POST method is defined in section 9.5 of RFC2616:
The POST method is used to request that the origin server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line. POST is designed to allow a uniform method to cover the following functions:
- Annotation of existing resources
- Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles
- Providing a block of data, such as the result of submitting a form, to a data-handling process
- Extending a database through an append operation
- Since:
- 1.0
- Version:
- $Revision: 480424 $
-
Field Summary
Fields inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.methods.EntityEnclosingMethod
CONTENT_LENGTH_AUTO, CONTENT_LENGTH_CHUNKED
Fields inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.HttpMethodBase
effectiveVersion, statusLine
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addParameter
(NameValuePair param) Adds a new parameter to be used in the POST request body.void
addParameter
(String paramName, String paramValue) Adds a new parameter to be used in the POST request body.void
addParameters
(NameValuePair[] parameters) Adds an array of parameters to be used in the POST request body.protected void
Clears request body.protected RequestEntity
Generates a request entity from the post parameters, if present.getName()
Returns "POST".getParameter
(String paramName) Gets the parameter of the specified name.Gets the parameters currently added to the PostMethod.protected boolean
Returns true if there is a request body to be sent.boolean
removeParameter
(String paramName) Removes all parameters with the given paramName.boolean
removeParameter
(String paramName, String paramValue) Removes all parameter with the given paramName and paramValue.void
setParameter
(String parameterName, String parameterValue) Sets the value of parameter with parameterName to parameterValue.void
setRequestBody
(NameValuePair[] parametersBody) Sets an array of parameters to be used in the POST request bodyMethods inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.methods.EntityEnclosingMethod
addContentLengthRequestHeader, addRequestHeaders, generateRequestBody, getFollowRedirects, getRequestCharSet, getRequestContentLength, getRequestEntity, recycle, setContentChunked, setFollowRedirects, setRequestBody, setRequestBody, setRequestContentLength, setRequestContentLength, setRequestEntity, writeRequestBody
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, 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
-
FORM_URL_ENCODED_CONTENT_TYPE
The Content-Type for www-form-urlencoded.- See Also:
-
-
Constructor Details
-
PostMethod
public PostMethod()No-arg constructor.- Since:
- 1.0
-
PostMethod
Constructor specifying a URI.- Parameters:
uri
- either an absolute or relative URI- Since:
- 1.0
-
-
Method Details
-
getName
Returns "POST".- Specified by:
getName
in interfaceHttpMethod
- Specified by:
getName
in classHttpMethodBase
- Returns:
- "POST"
- Since:
- 2.0
-
hasRequestContent
protected boolean hasRequestContent()Returns true if there is a request body to be sent.This method must be overwritten by sub-classes that implement alternative request content input methods
- Overrides:
hasRequestContent
in classEntityEnclosingMethod
- Returns:
- boolean
- Since:
- 2.0beta1
-
clearRequestBody
protected void clearRequestBody()Clears request body.This method must be overwritten by sub-classes that implement alternative request content input methods
- Overrides:
clearRequestBody
in classEntityEnclosingMethod
- Since:
- 2.0beta1
-
generateRequestEntity
Generates a request entity from the post parameters, if present. CallsEntityEnclosingMethod.generateRequestBody()
if parameters have not been set.- Overrides:
generateRequestEntity
in classEntityEnclosingMethod
- Since:
- 3.0
-
setParameter
Sets the value of parameter with parameterName to parameterValue. This method does not preserve the initial insertion order.- Parameters:
parameterName
- name of the parameterparameterValue
- value of the parameter- Since:
- 2.0
-
getParameter
Gets the parameter of the specified name. If there exists more than one parameter with the name paramName, then only the first one is returned.- Parameters:
paramName
- name of the parameter- Returns:
- If a parameter exists with the name argument, the coresponding NameValuePair is returned. Otherwise null.
- Since:
- 2.0
-
getParameters
Gets the parameters currently added to the PostMethod. If there are no parameters, a valid array is returned with zero elements. The returned array object contains an array of pointers to the internal data members.- Returns:
- An array of the current parameters
- Since:
- 2.0
-
addParameter
Adds a new parameter to be used in the POST request body.- Parameters:
paramName
- The parameter name to add.paramValue
- The parameter value to add.- Throws:
IllegalArgumentException
- if either argument is null- Since:
- 1.0
-
addParameter
Adds a new parameter to be used in the POST request body.- Parameters:
param
- The parameter to add.- Throws:
IllegalArgumentException
- if the argument is null or contains null values- Since:
- 2.0
-
addParameters
Adds an array of parameters to be used in the POST request body. Logs a warning if the parameters argument is null.- Parameters:
parameters
- The array of parameters to add.- Since:
- 2.0
-
removeParameter
Removes all parameters with the given paramName. If there is more than one parameter with the given paramName, all of them are removed. If there is just one, it is removed. If there are none, then the request is ignored.- Parameters:
paramName
- The parameter name to remove.- Returns:
- true if at least one parameter was removed
- Throws:
IllegalArgumentException
- When the parameter name passed is null- Since:
- 2.0
-
removeParameter
Removes all parameter with the given paramName and paramValue. If there is more than one parameter with the given paramName, only one is removed. If there are none, then the request is ignored.- Parameters:
paramName
- The parameter name to remove.paramValue
- The parameter value to remove.- Returns:
- true if a parameter was removed.
- Throws:
IllegalArgumentException
- when param name or value are null- Since:
- 2.0
-
setRequestBody
Sets an array of parameters to be used in the POST request body- Parameters:
parametersBody
- The array of parameters to add.- Throws:
IllegalArgumentException
- when param parameters are null- Since:
- 2.0beta1
-