Package org.apache.jmeter.protocol.http.sampler

# Class HTTPHCAbstractImpl

java.lang.Object
org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl
org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl

All Implemented Interfaces:
  `HTTPConstantsInterface`, `Interruptible`

Direct Known Subclasses:
  `HTTPHC4Impl`

public abstract class HTTPHCAbstractImpl extends HTTPAbstractImpl
Common parent class for HttpClient implementations. Includes system property settings that are handled internally by the Java HTTP implementation, but which need to be explicitly configured in HttpClient implementations.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final int`
  `CPS_HTTP`
  `protected static final int`
  `CPS_HTTPS`
  Deprecated.
  Not used
  `protected static final String`
  `HTTP_VERSION`
  `protected static final InetAddress`
  `localAddress`
  `protected static final String`
  `LOCALHOST`
  `protected static final int`
  `NON_PROXY_HOST_SUFFIX_SIZE`
  `protected static final String`
  `NONPROXY_HOSTS`
  `protected static final Set<String>`
  `nonProxyHostFull`
  `protected static final List<String>`
  `nonProxyHostSuffix`
  `protected static final boolean`
  `PROXY_DEFINED`
  `protected static final String`
  `PROXY_DOMAIN`
  `protected static final String`
  `PROXY_HOST`
  `protected static final String`
  `PROXY_PASS`
  `protected static final int`
  `PROXY_PORT`
  `protected static final String`
  `PROXY_SCHEME`
  `protected static final String`
  `PROXY_USER`
  `protected static final boolean`
  `RESET_STATE_ON_THREAD_GROUP_ITERATION`
  Reset HTTP State when starting a new Thread Group iteration
  `protected static final ThreadLocal<Boolean>`
  `resetStateOnThreadGroupIteration`
  Whether SSL State/Context should be reset Shared state for any HC based implementation, because SSL contexts are the same
  `protected static final int`
  `SO_TIMEOUT`
  `protected static final boolean`
  `USE_CACHED_SSL_CONTEXT`
  Deprecated.
  use httpclient.reset_state_on_thread_group_iteration instead
  `protected static final boolean`
  `USE_LOOPBACK`

  ### Fields inherited from class org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl

  `ADD_CONTENT_TYPE_TO_POST_IF_MISSING, ALL_EXCEPT_COOKIE, ONLY_COOKIE, 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_BROTLI, ENCODING_DEFLATE, 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_COOKIE_IN_REQUEST, 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, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_PERMANENT_REDIRECT, SC_SEE_OTHER, SC_TEMPORARY_REDIRECT, SEARCH, TRACE, TRANSFER_ENCODING, UNLOCK, VARY`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `HTTPHCAbstractImpl(HTTPSamplerBase testElement)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected boolean`
  `isDynamicProxy(String proxyHost, int proxyPort)`
  Is a dynamic proxy defined?
  `protected static boolean`
  `isNonProxy(String host)`
  `protected static boolean`
  `isNullOrEmptyTrimmed(String value)`
  `protected static boolean`
  `isPartialMatch(String host)`
  `protected static boolean`
  `isStaticProxy(String host)`
  Is a static proxy defined?

  ### Methods inherited from class org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl

  `configureSampleLabel, errorResult, getArguments, getAuthManager, getAutoRedirects, getCacheManager, getConnectTimeout, getContentEncoding, getCookieManager, getDoBrowserCompatibleMultipart, getHeaderManager, getHTTPFiles, getIpSource, getIpSourceAddress, getProxyHost, getProxyPass, getProxyPortInt, getProxyScheme, getProxyUser, getResponseTimeout, getSendFileAsPostBody, getSendParameterValuesAsPostBody, getUseKeepAlive, getUseMultipart, getUseMultipartForPost, hasArguments, isMonitor, isSuccessCode, notifyFirstSampleAfterLoopRestart, notifySSLContextWasReset, readResponse, readResponse, readResponse, readResponse, resultProcessing, sample, setUseKeepAlive, threadFinished, updateSampleResultForResourceInCache`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.jmeter.samplers.Interruptible

  `interrupt`

- ## Field Details

  - ### PROXY_SCHEME

    protected static final String PROXY_SCHEME

  - ### PROXY_HOST

    protected static final String PROXY_HOST

  - ### NONPROXY_HOSTS

    protected static final String NONPROXY_HOSTS

  - ### PROXY_PORT

    protected static final int PROXY_PORT

  - ### PROXY_DEFINED

    protected static final boolean PROXY_DEFINED

  - ### PROXY_USER

    protected static final String PROXY_USER

  - ### PROXY_PASS

    protected static final String PROXY_PASS

  - ### PROXY_DOMAIN

    protected static final String PROXY_DOMAIN

  - ### localAddress

    protected static final InetAddress localAddress

  - ### LOCALHOST

    protected static final String LOCALHOST

  - ### nonProxyHostFull

    protected static final Set<String> nonProxyHostFull

  - ### nonProxyHostSuffix

    protected static final List<String> nonProxyHostSuffix

  - ### NON_PROXY_HOST_SUFFIX_SIZE

    protected static final int NON_PROXY_HOST_SUFFIX_SIZE

  - ### CPS_HTTP

    protected static final int CPS_HTTP

  - ### CPS_HTTPS

    @Deprecated protected static final int CPS_HTTPS
    Deprecated.
    Not used

  - ### USE_LOOPBACK

    protected static final boolean USE_LOOPBACK

  - ### HTTP_VERSION

    protected static final String HTTP_VERSION

  - ### SO_TIMEOUT

    protected static final int SO_TIMEOUT

  - ### RESET_STATE_ON_THREAD_GROUP_ITERATION

    protected static final boolean RESET_STATE_ON_THREAD_GROUP_ITERATION
    Reset HTTP State when starting a new Thread Group iteration

  - ### USE_CACHED_SSL_CONTEXT

    @Deprecated protected static final boolean USE_CACHED_SSL_CONTEXT
    Deprecated.
    use httpclient.reset_state_on_thread_group_iteration instead
    Control reuse of cached SSL Context in subsequent iterations

  - ### resetStateOnThreadGroupIteration

    protected static final ThreadLocal<Boolean> resetStateOnThreadGroupIteration
    Whether SSL State/Context should be reset Shared state for any HC based implementation, because SSL contexts are the same

- ## Constructor Details

  - ### HTTPHCAbstractImpl

    protected HTTPHCAbstractImpl(HTTPSamplerBase testElement)

- ## Method Details

  - ### isNonProxy

    protected static boolean isNonProxy(String host)

  - ### isPartialMatch

    protected static boolean isPartialMatch(String host)

  - ### isDynamicProxy

    protected boolean isDynamicProxy(String proxyHost, int proxyPort)
    Is a dynamic proxy defined?
    Parameters:
      `proxyHost` - the host to check
      `proxyPort` - the port to check
    Returns:
      `true` iff both ProxyPort and ProxyHost are defined.

  - ### isStaticProxy

    protected static boolean isStaticProxy(String host)
    Is a static proxy defined?
    Parameters:
      `host` - to check against non-proxy hosts
    Returns:
      `true` iff a static proxy has been defined.

  - ### isNullOrEmptyTrimmed

    protected static boolean isNullOrEmptyTrimmed(String value)
    Parameters:
      `value` - String value to test
    Returns:
      true if value is null or empty trimmed