Class FalsifyingWebConnection

java.lang.Object
org.htmlunit.util.WebConnectionWrapper
org.htmlunit.util.FalsifyingWebConnection
All Implemented Interfaces:
AutoCloseable, WebConnection

public abstract class FalsifyingWebConnection extends WebConnectionWrapper
Extension of WebConnectionWrapper providing facility methods to deliver something other than what the wrapped connection would deliver.
  • Constructor Details

    • FalsifyingWebConnection

      public FalsifyingWebConnection(WebConnection webConnection) throws IllegalArgumentException
      Constructs a WebConnection object wrapping provided WebConnection.
      Parameters:
      webConnection - the webConnection that does the real work
      Throws:
      IllegalArgumentException - if the connection is null
    • FalsifyingWebConnection

      public FalsifyingWebConnection(WebClient webClient) throws IllegalArgumentException
      Constructs an instance and places itself as connection of the WebClient.
      Parameters:
      webClient - the WebClient which WebConnection should be wrapped
      Throws:
      IllegalArgumentException - if the WebClient is null
  • Method Details

    • deliverFromAlternateUrl

      protected WebResponse deliverFromAlternateUrl(WebRequest webRequest, URL url) throws IOException
      Delivers the content for an alternate URL as if it comes from the requested URL.
      Parameters:
      webRequest - the original web request
      url - the URL from which the content should be retrieved
      Returns:
      the response
      Throws:
      IOException - if a problem occurred
    • replaceContent

      protected WebResponse replaceContent(WebResponse wr, String newContent) throws IOException
      Builds a WebResponse with new content, preserving all other information.
      Parameters:
      wr - the web response to adapt
      newContent - the new content to place in the response
      Returns:
      a web response with the new content
      Throws:
      IOException - if an encoding problem occurred
    • createWebResponse

      protected WebResponse createWebResponse(WebRequest wr, String content, String contentType) throws IOException
      Creates a faked WebResponse for the request with the provided content.
      Parameters:
      wr - the web request for which a response should be created
      content - the content to place in the response
      contentType - the content type of the response
      Returns:
      a web response with the provided content
      Throws:
      IOException - if an encoding problem occurred
    • createWebResponse

      protected WebResponse createWebResponse(WebRequest wr, String content, String contentType, int responseCode, String responseMessage) throws IOException
      Creates a faked WebResponse for the request with the provided content.
      Parameters:
      wr - the web request for which a response should be created
      content - the content to place in the response
      contentType - the content type of the response
      responseCode - the HTTP code for the response
      responseMessage - the HTTP message for the response
      Returns:
      a web response with the provided content
      Throws:
      IOException - if an encoding problem occurred