Package org.jboss.resteasy.plugins.server.sun.http

## Class HttpServerRequest

- java.lang.Object
- - org.jboss.resteasy.plugins.server.BaseHttpRequest
  - - org.jboss.resteasy.plugins.server.sun.http.HttpServerRequest

- All Implemented Interfaces:
    `HttpRequest`

      public class HttpServerRequest
      extends BaseHttpRequest

  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Map<String,​Object>` | `attributes` |
    `protected SynchronousDispatcher` | `dispatcher` |
    `protected com.sun.net.httpserver.HttpExchange` | `exchange` |
    `protected ResteasyHttpHeaders` | `httpHeaders` |
    `protected String` | `httpMethod` |
    `protected HttpResponse` | `httpResponse` |
    `protected String` | `preProcessedPath` |

    - ### Fields inherited from class org.jboss.resteasy.plugins.server.BaseHttpRequest

      `decodedFormParameters, formParameters, uri`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HttpServerRequest​(SynchronousDispatcher dispatcher, HttpResponse httpResponse, com.sun.net.httpserver.HttpExchange exchange)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `forward​(String path)` |
    `ResteasyAsynchronousContext` | `getAsyncContext()` |
    `Object` | `getAttribute​(String attribute)` | Map of contextual data.
    `Enumeration<String>` | `getAttributeNames()` |
    `javax.ws.rs.core.HttpHeaders` | `getHttpHeaders()` |
    `String` | `getHttpMethod()` |
    `InputStream` | `getInputStream()` |
    `javax.ws.rs.core.MultivaluedMap<String,​String>` | `getMutableHeaders()` |
    `String` | `getRemoteAddress()` | Returns the Internet Protocol (IP) address of the client or last proxy that sent the request.
    `String` | `getRemoteHost()` | Returns the fully qualified name of the client or the last proxy that sent the request.
    `void` | `removeAttribute​(String name)` |
    `void` | `setAttribute​(String name, Object value)` |
    `void` | `setHttpMethod​(String method)` |
    `void` | `setInputStream​(InputStream stream)` | If you are using a servlet container, this will *NOT* override the HttpServletRequest.getInputStream().
    `boolean` | `wasForwarded()` |

    - ### Methods inherited from class org.jboss.resteasy.plugins.server.BaseHttpRequest

      `formParametersRead, getDecodedFormParameters, getFormParameters, getUri, isInitial, setRequestUri, setRequestUri`

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

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

- - ### Field Detail

    - #### dispatcher

          protected SynchronousDispatcher dispatcher

    - #### httpResponse

          protected HttpResponse httpResponse

    - #### exchange

          protected com.sun.net.httpserver.HttpExchange exchange

    - #### httpHeaders

          protected ResteasyHttpHeaders httpHeaders

    - #### preProcessedPath

          protected String preProcessedPath

    - #### attributes

          protected Map<String,​Object> attributes

    - #### httpMethod

          protected String httpMethod

  - ### Constructor Detail

    - #### HttpServerRequest

          public HttpServerRequest​(SynchronousDispatcher dispatcher,
                                   HttpResponse httpResponse,
                                   com.sun.net.httpserver.HttpExchange exchange)

  - ### Method Detail

    - #### getMutableHeaders

          public javax.ws.rs.core.MultivaluedMap<String,​String> getMutableHeaders()

    - #### getHttpHeaders

          public javax.ws.rs.core.HttpHeaders getHttpHeaders()

    - #### getInputStream

          public InputStream getInputStream()

    - #### setInputStream

          public void setInputStream​(InputStream stream)

      Description copied from interface: `HttpRequest`
      If you are using a servlet container, this will *NOT* override the HttpServletRequest.getInputStream(). It will only override it for the resteasy HttpRequest
      Parameters:
        `stream` - input stream

    - #### getHttpMethod

          public String getHttpMethod()

    - #### setHttpMethod

          public void setHttpMethod​(String method)

    - #### getAttribute

          public Object getAttribute​(String attribute)

      Description copied from interface: `HttpRequest`
      Map of contextual data. Similar to HttpServletRequest attributes
      Parameters:
        `attribute` - attribute name
      Returns:
        attribute

    - #### setAttribute

          public void setAttribute​(String name,
                                   Object value)

    - #### removeAttribute

          public void removeAttribute​(String name)

    - #### getAttributeNames

          public Enumeration<String> getAttributeNames()

    - #### getAsyncContext

          public ResteasyAsynchronousContext getAsyncContext()

    - #### forward

          public void forward​(String path)

    - #### wasForwarded

          public boolean wasForwarded()

    - #### getRemoteHost

          public String getRemoteHost()

      Description copied from interface: `HttpRequest`
      Returns the fully qualified name of the client or the last proxy that sent the request. If the engine cannot or chooses not to resolve the hostname (to improve performance), this method returns the dotted-string form of the IP address.
      Returns:
        a `String` containing the fully qualified name of the client

    - #### getRemoteAddress

          public String getRemoteAddress()

      Description copied from interface: `HttpRequest`
      Returns the Internet Protocol (IP) address of the client or last proxy that sent the request.
      Returns:
        a `String` containing the IP address of the client that sent the request