Apache JMeter

org.apache.jmeter.protocol.http.sampler
Class HTTPHC3Impl

java.lang.Object
  extended by org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
      extended by org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl
          extended by 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
protected HTTPHC3Impl(HTTPSamplerBase base)
           
 
Method Summary
protected  String getConnectionHeaders(org.apache.commons.httpclient.HttpMethod method)
          Get all the request headers for the HttpMethod
protected  String getResponseHeaders(org.apache.commons.httpclient.HttpMethod method)
          Gets the ResponseHeaders
 boolean 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 in HTTPSampleResult, following redirects and downloading page resources as appropriate.
protected  void saveConnectionCookies(org.apache.commons.httpclient.HttpMethod method, URL u, CookieManager cookieManager)
          From the HttpMethod, store all the "set-cookie" key-pair values in the cookieManager of the UrlConfig.
protected  void setDefaultRequestHeaders(org.apache.commons.httpclient.HttpMethod httpMethod)
          Set any default request headers to include
protected  org.apache.commons.httpclient.HttpClient setupConnection(URL u, org.apache.commons.httpclient.HttpMethodBase httpMethod, HTTPSampleResult res)
          Returns an HttpConnection 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 in HTTPSampleResult, 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 class HTTPAbstractImpl
Parameters:
url - URL to sample
method - HTTP method: GET, POST,...
areFollowingRedirect - whether we're getting a redirect target
frameDepth - Depth of this target in the frame structure. Used only to prevent infinite recursion.
Returns:
results of the sampling

setupConnection

protected org.apache.commons.httpclient.HttpClient setupConnection(URL u,
                                                                   org.apache.commons.httpclient.HttpMethodBase httpMethod,
                                                                   HTTPSampleResult res)
                                                            throws IOException
Returns an HttpConnection 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 request
httpMethod - GET/PUT/HEAD etc
res - sample result to save request infos to
Returns:
HttpConnection ready for .connect
Throws:
IOException - if an I/O Exception occurs

setDefaultRequestHeaders

protected void setDefaultRequestHeaders(org.apache.commons.httpclient.HttpMethod httpMethod)
Set any default request headers to include

Parameters:
httpMethod - the HttpMethod used for the request

getResponseHeaders

protected String getResponseHeaders(org.apache.commons.httpclient.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(org.apache.commons.httpclient.HttpMethod method)
Get all the request headers for the HttpMethod

Parameters:
method - HttpMethod which represents the request
Returns:
the headers as a string

saveConnectionCookies

protected void saveConnectionCookies(org.apache.commons.httpclient.HttpMethod method,
                                     URL u,
                                     CookieManager cookieManager)
From the HttpMethod, store all the "set-cookie" key-pair values in the cookieManager of the UrlConfig.

Parameters:
method - HttpMethod which represents the request
u - URL of the URL request
cookieManager - the CookieManager containing all the cookies

threadFinished

protected void threadFinished()
Overrides:
threadFinished in class HTTPAbstractImpl

notifyFirstSampleAfterLoopRestart

protected void notifyFirstSampleAfterLoopRestart()
Overrides:
notifyFirstSampleAfterLoopRestart in class HTTPAbstractImpl

interrupt

public boolean interrupt()
Interrupt the current operation if possible.

Returns:
true if there was an operation to interrupt.

Apache JMeter

Copyright © 1998-2015 Apache Software Foundation. All Rights Reserved.