Package org.htmlunit

# Class WebResponseData

java.lang.Object
org.htmlunit.WebResponseData

All Implemented Interfaces:
  `Serializable`

public class WebResponseData extends Object implements Serializable
Simple data object to simplify WebResponse creation.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `WebResponseData(byte[] body, int statusCode, String statusMessage, List<NameValuePair> responseHeaders)`
  Constructs with a raw byte[] (mostly for testing).
  `protected`
  `WebResponseData(int statusCode, String statusMessage, List<NameValuePair> responseHeaders)`
  Constructs without data stream for subclasses that override getBody().
  ``
  `WebResponseData(DownloadedContent downloadedContent, int statusCode, String statusMessage, List<NameValuePair> responseHeaders)`
  Constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `cleanUp()`
  Clean up the downloaded content.
  `byte[]`
  `getBody()`
  Returns the response body.
  `long`
  `getContentLength()`
  Returns length of the content data.
  `InputStream`
  `getInputStream()`
  Returns a new `InputStream` allowing to read the downloaded content.
  `InputStream`
  `getInputStreamWithBomIfApplicable(org.apache.commons.io.ByteOrderMark... bomHeaders)`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  `List<NameValuePair>`
  `getResponseHeaders()`
  `int`
  `getStatusCode()`
  `String`
  `getStatusMessage()`

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

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

- ## Constructor Details

  - ### WebResponseData

    public WebResponseData(byte[] body, int statusCode, String statusMessage, List<NameValuePair> responseHeaders)
    Constructs with a raw byte[] (mostly for testing).
    Parameters:
      `body` - Body of this response
      `statusCode` - Status code from the server
      `statusMessage` - Status message from the server
      `responseHeaders` - Headers in this response

  - ### WebResponseData

    protected WebResponseData(int statusCode, String statusMessage, List<NameValuePair> responseHeaders)
    Constructs without data stream for subclasses that override getBody().
    Parameters:
      `statusCode` - Status code from the server
      `statusMessage` - Status message from the server
      `responseHeaders` - Headers in this response

  - ### WebResponseData

    public WebResponseData(DownloadedContent downloadedContent, int statusCode, String statusMessage, List<NameValuePair> responseHeaders)
    Constructor.
    Parameters:
      `downloadedContent` - the downloaded content
      `statusCode` - Status code from the server
      `statusMessage` - Status message from the server
      `responseHeaders` - Headers in this response

- ## Method Details

  - ### getBody

    public byte[] getBody()
    Returns the response body. This may cause memory problem for very large responses.
    Returns:
      response body

  - ### getInputStream

    public InputStream getInputStream() throws IOException
    Returns a new `InputStream` allowing to read the downloaded content.
    Returns:
      the associated InputStream
    Throws:
      `IOException` - in case of IO problems

  - ### getInputStreamWithBomIfApplicable

    public InputStream getInputStreamWithBomIfApplicable(org.apache.commons.io.ByteOrderMark... bomHeaders) throws IOException
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Parameters:
      `bomHeaders` - the supported bomHeaders
    Returns:
      the associated InputStream wrapped with a bom input stream if applicable
    Throws:
      `IOException` - in case of IO problems

  - ### getResponseHeaders

    public List<NameValuePair> getResponseHeaders()
    Returns:
      response headers

  - ### getStatusCode

    public int getStatusCode()
    Returns:
      response status code

  - ### getStatusMessage

    public String getStatusMessage()
    Returns:
      response status message

  - ### getContentLength

    public long getContentLength()
    Returns length of the content data.
    Returns:
      the length

  - ### cleanUp

    public void cleanUp()
    Clean up the downloaded content.