## HTTPClient
Class Request

    java.lang.Object
      HTTPClient.Request

All Implemented Interfaces:
  Cloneable, RoRequest

public final class Request
extends Object
implements RoRequest, Cloneable

This class represents an http request. It's used by classes which implement the HTTPClientModule interface.

Field Summary
`(package private) boolean` `aborted` was this request aborted by the user?
`(package private) long` `delay_entity` number of millisecs to wait for an error from the server before sending the entity (used when retrying requests)
`(package private) boolean` `dont_pipeline` disable pipelining of following request
`(package private) boolean` `internal_subrequest` is this an internally generated subrequest?
`(package private) int` `num_retries` number of retries so far

Constructor Summary
`Request(HTTPConnection con, String method, String req_uri, NVPair[] headers, byte[] data, HttpOutputStream stream, boolean allow_ui)` Creates a new request structure.

Method Summary
`boolean` `allowUI()`
`Object` `clone()`
`void` `copyFrom(Request other)` Copy all the fields from other to this request.
`HTTPConnection` `getConnection()`
`byte[]` `getData()`
`NVPair[]` `getHeaders()`
`String` `getMethod()`
`String` `getRequestURI()`
`HttpOutputStream` `getStream()`
`void` `setAllowUI(boolean allow_ui)`
`void` `setConnection(HTTPConnection con)`
`void` `setData(byte[] data)`
`void` `setHeaders(NVPair[] headers)`
`void` `setMethod(String method)`
`void` `setRequestURI(String req_uri)`
`void` `setStream(HttpOutputStream stream)`
`String` `toString()`

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

Field Detail

### delay_entity

    long delay_entity

  number of millisecs to wait for an error from the server before sending the entity (used when retrying requests)

### num_retries

    int num_retries

  number of retries so far

### dont_pipeline

    boolean dont_pipeline

  disable pipelining of following request

### aborted

    boolean aborted

  was this request aborted by the user?

### internal_subrequest

    boolean internal_subrequest

  is this an internally generated subrequest?

Constructor Detail

### Request

    public Request(HTTPConnection con,
                   String method,
                   String req_uri,
                   NVPair[] headers,
                   byte[] data,
                   HttpOutputStream stream,
                   boolean allow_ui)

  Creates a new request structure.

Parameters:
  `con` - the current HTTPConnection
  `method` - the request method
  `req_uri` - the request-uri
  `headers` - the request headers
  `data` - the entity as a byte[]
  `stream` - the entity as a stream
  `allow_ui` - allow user interaction

Method Detail

### getConnection

    public HTTPConnection getConnection()

  Specified by:
    `getConnection` in interface `RoRequest`
  Returns:
    the HTTPConnection this request is associated with

### setConnection

    public void setConnection(HTTPConnection con)

  Parameters:
    `con` - the HTTPConnection this request is associated with

### getMethod

    public String getMethod()

  Specified by:
    `getMethod` in interface `RoRequest`
  Returns:
    the request method

### setMethod

    public void setMethod(String method)

  Parameters:
    `method` - the request method (e.g. GET, POST, etc)

### getRequestURI

    public String getRequestURI()

  Specified by:
    `getRequestURI` in interface `RoRequest`
  Returns:
    the request-uri

### setRequestURI

    public void setRequestURI(String req_uri)

  Parameters:
    `req_uri` - the request-uri

### getHeaders

    public NVPair[] getHeaders()

  Specified by:
    `getHeaders` in interface `RoRequest`
  Returns:
    the headers making up this request

### setHeaders

    public void setHeaders(NVPair[] headers)

  Parameters:
    `headers` - the headers for this request

### getData

    public byte[] getData()

  Specified by:
    `getData` in interface `RoRequest`
  Returns:
    the body of this request

### setData

    public void setData(byte[] data)

  Parameters:
    `data` - the entity for this request

### getStream

    public HttpOutputStream getStream()

  Specified by:
    `getStream` in interface `RoRequest`
  Returns:
    the output stream on which the body is written

### setStream

    public void setStream(HttpOutputStream stream)

  Parameters:
    `stream` - an output stream on which the entity is written

### allowUI

    public boolean allowUI()

  Specified by:
    `allowUI` in interface `RoRequest`
  Returns:
    true if the modules or handlers for this request may popup windows or otherwise interact with the user

### setAllowUI

    public void setAllowUI(boolean allow_ui)

  Parameters:
    `allow_ui` - are modules and handlers allowed to popup windows or otherwise interact with the user?

### clone

    public Object clone()

  Returns:
    a clone of this request object

### copyFrom

    public void copyFrom(Request other)

  Copy all the fields from other to this request.

  Parameters:
    `other` - the Request to copy from

### toString

    public String toString()

  Returns:
    a string containing the method and request-uri