Class HTTPHC3Impl
- java.lang.Object
-
- org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
-
- org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl
-
- org.apache.jmeter.protocol.http.sampler.HTTPHC3Impl
-
- All Implemented Interfaces:
HTTPConstantsInterface
,Interruptible
public class HTTPHC3Impl extends HTTPHCAbstractImpl
HTTP sampler using Apache (Jakarta) Commons HttpClient 3.1.
-
-
Field Summary
-
Fields inherited from class org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl
CPS_HTTP, CPS_HTTPS, HTTP_VERSION, localAddress, localHost, NONPROXY_HOSTS, nonProxyHostFull, nonProxyHostSuffix, nonProxyHostSuffixSize, PROXY_DEFINED, PROXY_DOMAIN, PROXY_HOST, PROXY_PASS, PROXY_PORT, PROXY_USER, SO_TIMEOUT, USE_CACHED_SSL_CONTEXT, USE_LOOPBACK
-
Fields inherited from class org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
testElement
-
Fields inherited from interface org.apache.jmeter.protocol.http.util.HTTPConstantsInterface
APPLICATION_X_WWW_FORM_URLENCODED, CACHE_CONTROL, CONNECT, CONNECTION_CLOSE, COPY, DATE, DEFAULT_HTTP_PORT, DEFAULT_HTTP_PORT_STRING, DEFAULT_HTTPS_PORT, DEFAULT_HTTPS_PORT_STRING, DELETE, ENCODING_GZIP, ETAG, EXPIRES, GET, HEAD, HEADER_AUTHORIZATION, HEADER_CONNECTION, HEADER_CONTENT_DISPOSITION, HEADER_CONTENT_ENCODING, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_COOKIE, HEADER_HOST, HEADER_LOCAL_ADDRESS, HEADER_LOCATION, HEADER_SET_COOKIE, HTTP_1_1, IF_MODIFIED_SINCE, IF_NONE_MATCH, KEEP_ALIVE, LAST_MODIFIED, LOCK, MKCALENDAR, MKCOL, MOVE, MULTIPART_FORM_DATA, OPTIONS, PATCH, POST, PROPFIND, PROPPATCH, PROTOCOL_HTTP, PROTOCOL_HTTPS, PUT, REPORT, TRACE, TRANSFER_ENCODING, UNLOCK
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
HTTPHC3Impl(HTTPSamplerBase base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
getConnectionHeaders(HttpMethod method)
Get all the request headers for theHttpMethod
protected String
getResponseHeaders(HttpMethod method)
Gets the ResponseHeadersboolean
interrupt()
Interrupt the current operation if possible.protected void
notifyFirstSampleAfterLoopRestart()
protected HTTPSampleResult
sample(URL url, String method, boolean areFollowingRedirect, int frameDepth)
Samples the URL passed in and stores the result inHTTPSampleResult
, following redirects and downloading page resources as appropriate.protected void
saveConnectionCookies(HttpMethod method, URL u, CookieManager cookieManager)
From theHttpMethod
, store all the "set-cookie" key-pair values in the cookieManager of theUrlConfig
.protected void
setDefaultRequestHeaders(HttpMethod httpMethod)
Set any default request headers to includeprotected HttpClient
setupConnection(URL u, HttpMethodBase httpMethod, HTTPSampleResult res)
Returns anHttpConnection
fully ready to attempt connection.protected void
threadFinished()
-
Methods inherited from class org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl
isDynamicProxy, isNonProxy, isNullOrEmptyTrimmed, isPartialMatch, isStaticProxy
-
Methods inherited from class org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
errorResult, getArguments, getAuthManager, getAutoRedirects, getCacheManager, getConnectTimeout, getContentEncoding, getCookieManager, getDoBrowserCompatibleMultipart, getHeaderManager, getHTTPFiles, getIpSource, getIpSourceAddress, getProxyHost, getProxyPass, getProxyPortInt, getProxyUser, getResponseTimeout, getSendFileAsPostBody, getSendParameterValuesAsPostBody, getUseKeepAlive, getUseMultipartForPost, hasArguments, isMonitor, isSuccessCode, notifySSLContextWasReset, readResponse, readResponse, resultProcessing, setUseKeepAlive, updateSampleResultForResourceInCache
-
-
-
-
Constructor Detail
-
HTTPHC3Impl
protected HTTPHC3Impl(HTTPSamplerBase base)
-
-
Method Detail
-
sample
protected HTTPSampleResult sample(URL url, String method, boolean areFollowingRedirect, int frameDepth)
Samples the URL passed in and stores the result inHTTPSampleResult
, following redirects and downloading page resources as appropriate.When getting a redirect target, redirects are not followed and resources are not downloaded. The caller will take care of this.
- Specified by:
sample
in classHTTPAbstractImpl
- Parameters:
url
- URL to samplemethod
- HTTP method: GET, POST,...areFollowingRedirect
- whether we're getting a redirect targetframeDepth
- Depth of this target in the frame structure. Used only to prevent infinite recursion.- Returns:
- results of the sampling
-
setupConnection
protected HttpClient setupConnection(URL u, HttpMethodBase httpMethod, HTTPSampleResult res) throws IOException
Returns anHttpConnection
fully ready to attempt connection. This means it sets the request method (GET or POST), headers, cookies, and authorization for the URL request.The request infos are saved into the sample result if one is provided.
- Parameters:
u
-URL
of the URL requesthttpMethod
- GET/PUT/HEAD etcres
- sample result to save request infos to- Returns:
HttpConnection
ready for .connect- Throws:
IOException
- if an I/O Exception occurs
-
setDefaultRequestHeaders
protected void setDefaultRequestHeaders(HttpMethod httpMethod)
Set any default request headers to include- Parameters:
httpMethod
- the HttpMethod used for the request
-
getResponseHeaders
protected String getResponseHeaders(HttpMethod method)
Gets the ResponseHeaders- Parameters:
method
- the method used to perform the request- Returns:
- string containing the headers, one per line
-
getConnectionHeaders
protected String getConnectionHeaders(HttpMethod method)
Get all the request headers for theHttpMethod
- Parameters:
method
-HttpMethod
which represents the request- Returns:
- the headers as a string
-
saveConnectionCookies
protected void saveConnectionCookies(HttpMethod method, URL u, CookieManager cookieManager)
From theHttpMethod
, store all the "set-cookie" key-pair values in the cookieManager of theUrlConfig
.- Parameters:
method
-HttpMethod
which represents the requestu
-URL
of the URL requestcookieManager
- theCookieManager
containing all the cookies
-
threadFinished
protected void threadFinished()
- Overrides:
threadFinished
in classHTTPAbstractImpl
-
notifyFirstSampleAfterLoopRestart
protected void notifyFirstSampleAfterLoopRestart()
- Overrides:
notifyFirstSampleAfterLoopRestart
in classHTTPAbstractImpl
-
interrupt
public boolean interrupt()
Interrupt the current operation if possible.- Returns:
true
if there was an operation to interrupt.
-
-