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
HTTP sampler using Apache (Jakarta) Commons HttpClient 3.1.
-
Field Summary
Fields inherited from class 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_LOOPBACKFields inherited from class HTTPAbstractImpl
testElementFields inherited from interface 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected StringgetConnectionHeaders(HttpMethod method) Get all the request headers for theHttpMethodprotected StringgetResponseHeaders(HttpMethod method) Gets the ResponseHeadersbooleanInterrupt the current operation if possible.protected voidprotected HTTPSampleResultSamples the URL passed in and stores the result inHTTPSampleResult, following redirects and downloading page resources as appropriate.protected voidsaveConnectionCookies(HttpMethod method, URL u, CookieManager cookieManager) From theHttpMethod, store all the "set-cookie" key-pair values in the cookieManager of theUrlConfig.protected voidsetDefaultRequestHeaders(HttpMethod httpMethod) Set any default request headers to includeprotected HttpClientsetupConnection(URL u, HttpMethodBase httpMethod, HTTPSampleResult res) Returns anHttpConnectionfully ready to attempt connection.protected voidMethods inherited from class HTTPHCAbstractImpl
isDynamicProxy, isNonProxy, isNullOrEmptyTrimmed, isPartialMatch, isStaticProxyMethods inherited from class 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 Details
-
HTTPHC3Impl
-
-
Method Details
-
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:
samplein 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 anHttpConnectionfully 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-URLof the URL requesthttpMethod- GET/PUT/HEAD etcres- sample result to save request infos to- Returns:
HttpConnectionready 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
Gets the ResponseHeaders- Parameters:
method- the method used to perform the request- Returns:
- string containing the headers, one per line
-
getConnectionHeaders
Get all the request headers for theHttpMethod- Parameters:
method-HttpMethodwhich represents the request- Returns:
- the headers as a string
-
saveConnectionCookies
From theHttpMethod, store all the "set-cookie" key-pair values in the cookieManager of theUrlConfig.- Parameters:
method-HttpMethodwhich represents the requestu-URLof the URL requestcookieManager- theCookieManagercontaining all the cookies
-
threadFinished
protected void threadFinished()- Overrides:
threadFinishedin classHTTPAbstractImpl
-
notifyFirstSampleAfterLoopRestart
protected void notifyFirstSampleAfterLoopRestart()- Overrides:
notifyFirstSampleAfterLoopRestartin classHTTPAbstractImpl
-
interrupt
public boolean interrupt()Interrupt the current operation if possible.- Returns:
trueif there was an operation to interrupt.
-