## com.gargoylesoftware.htmlunit.util
Class DebuggingWebConnection

    java.lang.Object
      com.gargoylesoftware.htmlunit.util.WebConnectionWrapper
          com.gargoylesoftware.htmlunit.util.DebuggingWebConnection

All Implemented Interfaces:
  WebConnection

    public class DebuggingWebConnection

extends WebConnectionWrapper

Wrapper around a "real" WebConnection that will use the wrapped web connection to do the real job and save all received responses in the temp directory with an overview page.
This may be useful at conception time to understand what is "browsed".
Example:

     final WebClient client = new WebClient();
     final WebConnection connection = new DebuggingWebConnection(client.getWebConnection(), "myTest");
     client.setWebConnection(connection);

In this example an overview page will be generated under the name myTest/index.html in the temp directory and all received responses will be saved int the myTest folder.
This class is only intended as an help during the conception.

Version:
  $Revision: 4891 $
Author:
  Marc Guillemot, Ahmed Ashour

Constructor Summary
`DebuggingWebConnection(WebConnection webConnection, java.lang.String dirName)` Wraps a web connection to have a report generated of the received responses.

Method Summary
`void` `addMark(java.lang.String mark)` Adds a mark that will be visible in the HTML result page generated by this class.
`WebResponse` `getResponse(WebRequestSettings settings)` Calls the wrapped webconnection and save the received response.
`protected void` `saveResponse(WebResponse response, WebRequestSettings settings)` Saves the response content in the temp dir and adds it to the summary page.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DebuggingWebConnection

    public DebuggingWebConnection(WebConnection webConnection,
                                  java.lang.String dirName)
                           throws java.io.IOException

  Wraps a web connection to have a report generated of the received responses.

  Parameters:
    `webConnection` - the webConnection that do the real work
    `dirName` - the name of the directory to create in the tmp folder to save received responses. If this folder already exists, it will be deleted first.
  Throws:
    `java.io.IOException` - in case of problems writing the files

Method Detail

### getResponse

    public WebResponse getResponse(WebRequestSettings settings)
                            throws java.io.IOException

  Calls the wrapped webconnection and save the received response. Submits a request and retrieves a response. The default behavior of this method is to return getResponse() on the wrapped connection object.

  Specified by:
    `getResponse` in interface `WebConnection`
  Overrides:
    `getResponse` in class `WebConnectionWrapper`
  Parameters:
    `settings` - Settings to make the request with
  Returns:
    the response to the request defined by the specified request settings
  Throws:
    `java.io.IOException` - if an IO error occurs

### addMark

    public void addMark(java.lang.String mark)
                 throws java.io.IOException

  Adds a mark that will be visible in the HTML result page generated by this class.

  Parameters:
    `mark` - the text
  Throws:
    `java.io.IOException` - if a problem occurs writing the file

### saveResponse

    protected void saveResponse(WebResponse response,
                                WebRequestSettings settings)
                         throws java.io.IOException

  Saves the response content in the temp dir and adds it to the summary page.

  Parameters:
    `response` - the response to save
    `settings` - the settings used to get the response
  Throws:
    `java.io.IOException` - if a problem occurs writing the file

Copyright © 2002-2011 Gargoyle Software Inc.. All Rights Reserved.