Apache JMeter

## org.apache.jmeter.protocol.http.sampler
Class HTTPSampler2

    java.lang.Object
      org.apache.jmeter.testelement.AbstractTestElement
          org.apache.jmeter.samplers.AbstractSampler
              org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase
                  org.apache.jmeter.protocol.http.sampler.HTTPSampler2

All Implemented Interfaces:
  Serializable, Cloneable, HTTPConstantsInterface, Interruptible, Sampler, TestElement, TestListener, ThreadListener

Direct Known Subclasses:
  SoapSampler

    public class HTTPSampler2

extends HTTPSamplerBase
implements Interruptible

A sampler which understands all the parts necessary to read statistics about HTTP requests, including cookies and authentication.

See Also:
  Serialized Form

Field Summary
`static String` `IP_SOURCE`
`protected org.apache.commons.httpclient.HttpClient` `savedClient`

Fields inherited from class org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase

`ARGUMENTS, AUTH_MANAGER, AUTO_REDIRECTS, CACHE_MANAGER, CLIENT, CONNECT_TIMEOUT, CONTENT_ENCODING, CONTENT_TYPE, COOKIE_MANAGER, DEFAULT_METHOD, DO_MULTIPART_POST, DOMAIN, EMBEDDED_URL_RE, FOLLOW_REDIRECTS, HEADER_MANAGER, IMAGE_PARSER, IMPLEMENTATION, MAX_FRAME_DEPTH, MAX_REDIRECTS, METHOD, MONITOR, NON_HTTP_RESPONSE_CODE, NON_HTTP_RESPONSE_MESSAGE, PATH, PORT, PROTOCOL, PROXYHOST, PROXYPASS, PROXYPORT, PROXYUSER, RESPONSE_TIMEOUT, UNSPECIFIED_PORT, UNSPECIFIED_PORT_AS_STRING, URL, URL_UNSPECIFIED_PORT, URL_UNSPECIFIED_PORT_AS_STRING, USE_KEEPALIVE`

Fields inherited from interface org.apache.jmeter.protocol.http.util.HTTPConstantsInterface

`APPLICATION_X_WWW_FORM_URLENCODED, CACHE_CONTROL, CONNECT, CONNECTION_CLOSE, 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_LOCATION, HEADER_SET_COOKIE, HTTP_1_1, IF_MODIFIED_SINCE, IF_NONE_MATCH, KEEP_ALIVE, LAST_MODIFIED, MULTIPART_FORM_DATA, OPTIONS, POST, PROTOCOL_HTTP, PROTOCOL_HTTPS, PUT, TRACE, TRANSFER_ENCODING`

Fields inherited from interface org.apache.jmeter.testelement.TestElement
`COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

Constructor Summary
`HTTPSampler2()` Constructor for the HTTPSampler2 object.

Method Summary
`protected String` `getConnectionHeaders(org.apache.commons.httpclient.HttpMethod method)` Get all the request headers for the `HttpMethod`
`String` `getIpSource()`
`protected String` `getResponseHeaders(org.apache.commons.httpclient.HttpMethod method)` Gets the ResponseHeaders
`boolean` `interrupt()` Interrupt the current operation if possible.
`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
`void` `setIpSource(String value)`
`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.
`void` `threadFinished()` Called for each thread after all samples have been processed.
`void` `threadStarted()` Called for each thread before starting sampling.

Methods inherited from class org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase

`addArgument, addArgument, addEncodedArgument, addEncodedArgument, addEncodedArgument, addNonEncodedArgument, addTestElement, clone, downloadPageResources, encodeBackSlashes, encodeSpaces, errorResult, followRedirects, getArguments, getAuthManager, getAutoRedirects, getCacheManager, getClient, getConnectTimeout, getContentEncoding, getCookieManager, getDefaultPort, getDomain, getDoMultipartPost, getEmbeddedUrlRE, getFollowRedirects, getHeaderManager, getHTTPFileCount, getHTTPFiles, getImplementation, getMethod, getMonitor, getPath, getPort, getPortIfSpecified, getProtocol, getProxyHost, getProxyPass, getProxyPortInt, getProxyUser, getQueryString, getQueryString, getResponseTimeout, getSendFileAsPostBody, getSendParameterValuesAsPostBody, getUrl, getUseKeepAlive, getUseMultipartForPost, getValidMethodsAsArray, hasArguments, isImageParser, isMonitor, isProtocolDefaultPort, isSecure, isSecure, isSuccessCode, parseArguments, parseArguments, readResponse, resultProcessing, sample, sample, setArguments, setAuthManager, setAutoRedirects, setCacheManager, setClient, setConnectTimeout, setContentEncoding, setCookieManager, setDomain, setDoMultipartPost, setEmbeddedUrlRE, setFollowRedirects, setHeaderManager, setHTTPFiles, setImageParser, setImplementation, setMD5, setMethod, setMonitor, setMonitor, setPath, setPath, setPort, setProtocol, setResponseTimeout, setUseKeepAlive, testEnded, testEnded, testIterationStart, testStarted, testStarted, toString, useMD5`

Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

`addProperty, canRemove, clear, clearTemporary, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.apache.jmeter.testelement.TestElement

`canRemove, clear, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse`

Field Detail

### IP_SOURCE

    public static final String IP_SOURCE

See Also:
  Constant Field Values

### savedClient

    protected volatile org.apache.commons.httpclient.HttpClient savedClient

Constructor Detail

### HTTPSampler2

    public HTTPSampler2()

  Constructor for the HTTPSampler2 object. Consider using HTTPSamplerFactory.newInstance() instead

Method Detail

### 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` - connection from which the headers are read
  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

### 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 `HTTPSamplerBase`
  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

### 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

### threadStarted

    public void threadStarted()

  Description copied from interface: `ThreadListener`
  Called for each thread before starting sampling. WARNING: this is called before any Config test elements are processed, so any properties they define will not have been merged in yet.

  Specified by:
    `threadStarted` in interface `ThreadListener`
  Overrides:
    `threadStarted` in class `HTTPSamplerBase`
  See Also:
    `JMeterThread.threadStarted()`

### threadFinished

    public void threadFinished()

  Description copied from interface: `ThreadListener`
  Called for each thread after all samples have been processed.

  Specified by:
    `threadFinished` in interface `ThreadListener`
  Overrides:
    `threadFinished` in class `HTTPSamplerBase`
  See Also:
    `JMeterThread.threadFinished()`

### interrupt

    public boolean interrupt()

  Interrupt the current operation if possible.

  Specified by:
    `interrupt` in interface `Interruptible`
  Returns:
    `true` if there was an operation to interrupt.

### setIpSource

    public void setIpSource(String value)

### getIpSource

    public String getIpSource()

Apache JMeter

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