Class HTTPHC3Impl

All Implemented Interfaces:
HTTPConstantsInterface, Interruptible

public class HTTPHC3Impl extends HTTPHCAbstractImpl
HTTP sampler using Apache (Jakarta) Commons HttpClient 3.1.
  • Constructor Details

  • Method Details

    • 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 HttpClient setupConnection(URL u, 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(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 the HttpMethod
      Parameters:
      method - HttpMethod which represents the request
      Returns:
      the headers as a string
    • saveConnectionCookies

      protected void saveConnectionCookies(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.