Class HttpSnifferConfig

java.lang.Object
com.norconex.collector.http.fetch.impl.webdriver.HttpSnifferConfig
All Implemented Interfaces:
IXMLConfigurable

public class HttpSnifferConfig extends Object implements IXMLConfigurable

Configuration for HttpSniffer.

XML configuration usage:


<port>(default is 0 = random free port)</port>
<host>(default is "localhost")</host>
<userAgent>(optionally overwrite browser user agent)</userAgent>
<maxBufferSize>
  (Maximum byte size before a request/response content is considered
   too large. Can be specified using notations, e.g., 25MB.
   Zero or less means unlimited. Default is 10MB)
</maxBufferSize>
<responseTimeout>
  How long to wait for the HTTP response from the target host to be
  processed.
</responseTimeout>
<!-- Optional HTTP request headers passed on every HTTP requests -->
<headers>
  <!-- You can repeat this header tag as needed. -->
  <header
      name="(header name)">
    (header value)
  </header>
</headers>
<!-- Optional chained proxy -->
<chainedProxy/>

The above XML configurable options can be nested in a supporting parent tag of any name. The expected parent tag name is defined by the consuming classes (e.g. "httpSniffer").

Since:
3.0.0
Author:
Pascal Essiembre
  • Field Details

    • DEFAULT_MAX_BUFFER_SIZE

      public static final int DEFAULT_MAX_BUFFER_SIZE
    • DEFAULT_RESPONSE_TIMEOUT

      public static final Duration DEFAULT_RESPONSE_TIMEOUT
  • Constructor Details

    • HttpSnifferConfig

      public HttpSnifferConfig()
  • Method Details

    • getPort

      public int getPort()
    • setPort

      public void setPort(int port)
    • getHost

      public String getHost()
      Gets the host name passed to the browser pointing to the sniffer proxy. Defaults to "localhost".
      Returns:
      host name
      Since:
      3.1.0
    • setHost

      public void setHost(String host)
      Sets the host name passed to the browser pointing to the sniffer proxy.
      Parameters:
      host - host name
      Since:
      3.1.0
    • getUserAgent

      public String getUserAgent()
    • setUserAgent

      public void setUserAgent(String userAgent)
    • getRequestHeaders

      public Map<String,String> getRequestHeaders()
    • setRequestHeaders

      public void setRequestHeaders(Map<String,String> requestHeaders)
    • getMaxBufferSize

      public int getMaxBufferSize()
    • setMaxBufferSize

      public void setMaxBufferSize(int maxBufferSize)
    • getResponseTimeout

      public Duration getResponseTimeout()
      Gets the amount of time for the HTTP sniffer to wait for the target host response matching the request being "sniffed". Default is 2 minutes.
      Returns:
      a duration
      Since:
      3.1.0
    • setResponseTimeout

      public void setResponseTimeout(Duration responseTimeout)
      Gets the amount of time for the HTTP sniffer to wait for the target host response matching the request being "sniffed". Default is 2 minutes.
      Parameters:
      responseTimeout - response timeout
      Since:
      3.1.0
    • getChainedProxy

      public ProxySettings getChainedProxy()
      Gets chained proxy settings, if any. That is, when the sniffer proxy has to itself use a proxy.
      Returns:
      chained proxy settings
      Since:
      3.1.0
    • setChainedProxy

      public void setChainedProxy(ProxySettings chainedProxy)
      Sets chained proxy settings, if any. That is, when the sniffer proxy has to itself use a proxy.
      Parameters:
      chainedProxy - chained proxy settings
      Since:
      3.1.0
    • loadFromXML

      public void loadFromXML(XML xml)
      Specified by:
      loadFromXML in interface IXMLConfigurable
    • saveToXML

      public void saveToXML(XML xml)
      Specified by:
      saveToXML in interface IXMLConfigurable
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object