# Class RequestInfo

java.lang.Object
org.apache.coyote.RequestInfo

public class RequestInfo extends Object
Structure holding the Request and Response objects. It also holds statistical information about request processing and provide management information about the requests being processed. Each thread uses a Request/Response pair that is recycled on each request. This object provides a place to collect global low-level statistics - without having to deal with synchronization (since each thread will have its own RequestProcessorMX).

## Constructor Summary

Constructors
Constructor
Description
`RequestInfo(Request req)`
Create a new instance.

## Method Summary

Modifier and Type
Method
Description
`long`
`getBytesReceived()`
Return the total bytes received.
`long`
`getBytesSent()`
Return the total bytes sent.
`int`
`getContentLength()`
Return the content length.
`String`
`getCurrentQueryString()`
Return the current query string.
`String`
`getCurrentUri()`
Return the current request URI.
`int`
`getErrorCount()`
Return the error count.
`RequestGroupInfo`
`getGlobalProcessor()`
Return the global request processor.
`long`
`getLastRequestProcessingTime()`
Return the processing time of the last request.
`String`
`getMaxRequestUri()`
Return the URI of the request with the longest processing time.
`long`
`getMaxTime()`
Return the maximum request processing time.
`String`
`getMethod()`
Return the HTTP method.
`String`
`getPeerAddr()`
Return the peer address.
`long`
`getProcessingTime()`
Return the total processing time.
`String`
`getProtocol()`
Return the protocol.
`String`
`getRemoteAddr()`
Return the remote address.
`String`
`getRemoteAddrForwarded()`
Obtain the remote address for this connection as reported by an intermediate proxy (if any).
`long`
`getRequestBytesReceived()`
Return the bytes received for the current request.
`long`
`getRequestBytesSent()`
Return the bytes sent for the current request.
`int`
`getRequestCount()`
Return the request count.
`long`
`getRequestProcessingTime()`
Return the processing time for the current request.
`ObjectName`
`getRpName()`
Return the MBean name.
`int`
`getServerPort()`
Return the server port.
`int`
`getStage()`
Return the current processing stage.
`String`
`getVirtualHost()`
Return the virtual host.
`String`
`getWorkerThreadName()`
Return the worker thread name.
`void`
`recycleStatistcs()`
Recycle all statistics.
`void`
`setBytesReceived(long bytesReceived)`
Reset the bytes received.
`void`
`setBytesSent(long bytesSent)`
Reset the bytes sent.
`void`
`setErrorCount(int errorCount)`
Reset the error count.
`void`
`setGlobalProcessor(RequestGroupInfo global)`
Set the global request processor.
`void`
`setLastRequestProcessingTime(long lastRequestProcessingTime)`
Set the last request processing time.
`void`
`setMaxRequestUri(String maxRequestUri)`
Set the maximum request URI.
`void`
`setMaxTime(long maxTime)`
Reset the maximum time.
`void`
`setProcessingTime(long processingTime)`
Reset the processing time.
`void`
`setRequestCount(int requestCount)`
Reset the request count.
`void`
`setRpName(ObjectName rpName)`
Set the MBean name.
`void`
`setStage(int stage)`
Set the current processing stage.
`void`
`setWorkerThreadName(String workerThreadName)`
Set the worker thread name.

### Methods inherited from class Object

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

## Constructor Details

### RequestInfo

public RequestInfo(Request req)
Create a new instance.

Parameters:
  `req` - the request

## Method Details

### getGlobalProcessor

public RequestGroupInfo getGlobalProcessor()
Return the global request processor.

Returns:
  the global processor

### setGlobalProcessor

public void setGlobalProcessor(RequestGroupInfo global)
Set the global request processor.

Parameters:
  `global` - the global processor

### getMethod

public String getMethod()
Return the HTTP method.

Returns:
  the HTTP method

### getCurrentUri

public String getCurrentUri()
Return the current request URI.

Returns:
  the current URI

### getCurrentQueryString

public String getCurrentQueryString()
Return the current query string.

Returns:
  the current query string

### getProtocol

public String getProtocol()
Return the protocol.

Returns:
  the protocol

### getVirtualHost

public String getVirtualHost()
Return the virtual host.

Returns:
  the virtual host

### getServerPort

public int getServerPort()
Return the server port.

Returns:
  the server port

### getRemoteAddr

public String getRemoteAddr()
Return the remote address.

Returns:
  the remote address

### getPeerAddr

public String getPeerAddr()
Return the peer address.

Returns:
  the peer address

### getRemoteAddrForwarded

public String getRemoteAddrForwarded()
Obtain the remote address for this connection as reported by an intermediate proxy (if any).

Returns:
  The remote address for this connection

### getContentLength

public int getContentLength()
Return the content length.

Returns:
  the content length

### getRequestBytesReceived

public long getRequestBytesReceived()
Return the bytes received for the current request.

Returns:
  the bytes received

### getRequestBytesSent

public long getRequestBytesSent()
Return the bytes sent for the current request.

Returns:
  the bytes sent

### getRequestProcessingTime

public long getRequestProcessingTime()
Return the processing time for the current request.

Returns:
  the processing time

### getStage

public int getStage()
Return the current processing stage.

Returns:
  the stage

### setStage

public void setStage(int stage)
Set the current processing stage.

Parameters:
  `stage` - the stage

### getBytesSent

public long getBytesSent()
Return the total bytes sent.

Returns:
  the bytes sent

### setBytesSent

public void setBytesSent(long bytesSent)
Reset the bytes sent.

Parameters:
  `bytesSent` - the new bytes sent

### getBytesReceived

public long getBytesReceived()
Return the total bytes received.

Returns:
  the bytes received

### setBytesReceived

public void setBytesReceived(long bytesReceived)
Reset the bytes received.

Parameters:
  `bytesReceived` - the new bytes received

### getProcessingTime

public long getProcessingTime()
Return the total processing time.

Returns:
  the processing time

### setProcessingTime

public void setProcessingTime(long processingTime)
Reset the processing time.

Parameters:
  `processingTime` - the new processing time

### getMaxTime

public long getMaxTime()
Return the maximum request processing time.

Returns:
  the maximum time

### setMaxTime

public void setMaxTime(long maxTime)
Reset the maximum time.

Parameters:
  `maxTime` - the new maximum time

### getMaxRequestUri

public String getMaxRequestUri()
Return the URI of the request with the longest processing time.

Returns:
  the maximum request URI

### setMaxRequestUri

public void setMaxRequestUri(String maxRequestUri)
Set the maximum request URI.

Parameters:
  `maxRequestUri` - the maximum request URI

### getRequestCount

public int getRequestCount()
Return the request count.

Returns:
  the request count

### setRequestCount

public void setRequestCount(int requestCount)
Reset the request count.

Parameters:
  `requestCount` - the new request count

### getErrorCount

public int getErrorCount()
Return the error count.

Returns:
  the error count

### setErrorCount

public void setErrorCount(int errorCount)
Reset the error count.

Parameters:
  `errorCount` - the new error count

### getWorkerThreadName

public String getWorkerThreadName()
Return the worker thread name.

Returns:
  the worker thread name

### getRpName

public ObjectName getRpName()
Return the MBean name.

Returns:
  the MBean name

### getLastRequestProcessingTime

public long getLastRequestProcessingTime()
Return the processing time of the last request.

Returns:
  the last request processing time

### setWorkerThreadName

public void setWorkerThreadName(String workerThreadName)
Set the worker thread name.

Parameters:
  `workerThreadName` - the worker thread name

### setRpName

public void setRpName(ObjectName rpName)
Set the MBean name.

Parameters:
  `rpName` - the MBean name

### setLastRequestProcessingTime

public void setLastRequestProcessingTime(long lastRequestProcessingTime)
Set the last request processing time.

Parameters:
  `lastRequestProcessingTime` - the last request processing time

### recycleStatistcs

public void recycleStatistcs()
Recycle all statistics.