Package org.apache.commons.httpclient
Class ConnectMethod
- java.lang.Object
-
- org.apache.commons.httpclient.HttpMethodBase
-
- org.apache.commons.httpclient.ConnectMethod
-
- All Implemented Interfaces:
HttpMethod
public class ConnectMethod extends HttpMethodBase
Establishes a tunneled HTTP connection via the CONNECT method.- Since:
- 2.0
- Version:
- $Revision: 483949 $ $Date: 2006-12-08 12:34:50 +0100 (Fri, 08 Dec 2006) $
- Author:
- Ortwin Gl???ck, dIon Gillard, Mike Bowler, Oleg Kalnichevski
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
NAME
the name of this method-
Fields inherited from class org.apache.commons.httpclient.HttpMethodBase
effectiveVersion, statusLine
-
-
Constructor Summary
Constructors Constructor Description ConnectMethod()
Deprecated.use #ConnectMethod(HttpHost); Create a connect method.ConnectMethod(HostConfiguration targethost)
Create a connect method.ConnectMethod(HttpMethod method)
Deprecated.the wrapped method is no longer used Create a connect method wrapping the existing method
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addCookieRequestHeader(HttpState state, HttpConnection conn)
This method does nothing.protected void
addRequestHeaders(HttpState state, HttpConnection conn)
Populates the request headers map to with additionalheaders
to be submitted to the givenHttpConnection
.int
execute(HttpState state, HttpConnection conn)
Execute this method and create a tunneled HttpConnection.java.lang.String
getName()
Provide thename
of this method.java.lang.String
getPath()
Gets the path of this HTTP method.URI
getURI()
Returns the URI of the HTTP methodprotected boolean
shouldCloseConnection(HttpConnection conn)
Returnstrue
if the status code is anything other than SC_OK,false
otherwise.protected void
writeRequestLine(HttpState state, HttpConnection conn)
Special Connect request.-
Methods inherited from class org.apache.commons.httpclient.HttpMethodBase
abort, addHostRequestHeader, addProxyConnectionHeader, addRequestHeader, addRequestHeader, addResponseFooter, addUserAgentRequestHeader, checkNotUsed, checkUsed, generateRequestLine, getAuthenticationRealm, getContentCharSet, getDoAuthentication, getEffectiveVersion, getFollowRedirects, getHostAuthState, getHostConfiguration, getMethodRetryHandler, getParams, 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, 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, validate, writeRequest, writeRequestBody, writeRequestHeaders
-
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
the name of this method- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ConnectMethod
public ConnectMethod()
Deprecated.use #ConnectMethod(HttpHost); Create a connect method.- Since:
- 3.0
-
ConnectMethod
public ConnectMethod(HttpMethod method)
Deprecated.the wrapped method is no longer used Create a connect method wrapping the existing method- Parameters:
method
- themethod
to execute after connecting to the server
-
ConnectMethod
public ConnectMethod(HostConfiguration targethost)
Create a connect method.- Since:
- 3.0
-
-
Method Detail
-
getName
public java.lang.String getName()
Provide thename
of this method.- Specified by:
getName
in interfaceHttpMethod
- Specified by:
getName
in classHttpMethodBase
- Returns:
- the String "CONNECT"
-
getPath
public java.lang.String getPath()
Description copied from class:HttpMethodBase
Gets the path of this HTTP method. Calling this method after the request has been executed will return the actual path, following any redirects automatically handled by this HTTP method.- Specified by:
getPath
in interfaceHttpMethod
- Overrides:
getPath
in classHttpMethodBase
- Returns:
- the path to request or "/" if the path is blank.
-
getURI
public URI getURI() throws URIException
Description copied from class:HttpMethodBase
Returns the URI of the HTTP method- Specified by:
getURI
in interfaceHttpMethod
- Overrides:
getURI
in classHttpMethodBase
- Returns:
- The URI
- Throws:
URIException
- If the URI cannot be created.- See Also:
HttpMethod.getURI()
-
addCookieRequestHeader
protected void addCookieRequestHeader(HttpState state, HttpConnection conn) throws java.io.IOException, HttpException
This method does nothing. CONNECT request is not supposed to contain Cookie request header.- Overrides:
addCookieRequestHeader
in classHttpMethodBase
- Parameters:
state
- current state of http requestsconn
- the connection to use for I/O- Throws:
java.io.IOException
- when errors occur reading or writing to/from the connectionHttpException
- when a recoverable error occurs- See Also:
HttpMethodBase.addCookieRequestHeader(HttpState, HttpConnection)
-
addRequestHeaders
protected void addRequestHeaders(HttpState state, HttpConnection conn) throws java.io.IOException, HttpException
Populates the request headers map to with additionalheaders
to be submitted to the givenHttpConnection
.This implementation adds User-Agent, Host, and Proxy-Authorization headers, when appropriate.
- Overrides:
addRequestHeaders
in classHttpMethodBase
- Parameters:
state
- the client stateconn
- theHttpConnection
the headers will eventually be written to- Throws:
java.io.IOException
- when an error occurs writing the requestHttpException
- when a HTTP protocol error occurs- See Also:
HttpMethodBase.writeRequestHeaders(org.apache.commons.httpclient.HttpState, org.apache.commons.httpclient.HttpConnection)
-
execute
public int execute(HttpState state, HttpConnection conn) throws java.io.IOException, HttpException
Execute this method and create a tunneled HttpConnection. If the method is successful (i.e. the status is a 2xx) tunnelCreated() will be called on the connection.- Specified by:
execute
in interfaceHttpMethod
- Overrides:
execute
in classHttpMethodBase
- Parameters:
state
- the current http stateconn
- the connection to write to- Returns:
- the http status code from execution
- Throws:
HttpException
- when an error occurs writing the headersjava.io.IOException
- when an error occurs writing the headers- See Also:
HttpConnection.tunnelCreated()
-
writeRequestLine
protected void writeRequestLine(HttpState state, HttpConnection conn) throws java.io.IOException, HttpException
Special Connect request.- Overrides:
writeRequestLine
in classHttpMethodBase
- Parameters:
state
- the current http stateconn
- the connection to write to- Throws:
java.io.IOException
- when an error occurs writing the requestHttpException
- when an error occurs writing the request- See Also:
HttpMethodBase.generateRequestLine(org.apache.commons.httpclient.HttpConnection, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-
shouldCloseConnection
protected boolean shouldCloseConnection(HttpConnection conn)
Returnstrue
if the status code is anything other than SC_OK,false
otherwise.- Overrides:
shouldCloseConnection
in classHttpMethodBase
- Parameters:
conn
- the connection in question- Returns:
true
if the connection should be closed- See Also:
HttpMethodBase.shouldCloseConnection(HttpConnection)
,HttpStatus.SC_OK
-
-