Class HttpServletInputMessage

  • All Implemented Interfaces:
    HttpRequest
    Direct Known Subclasses:
    Servlet3AsyncHttpRequest

    public class HttpServletInputMessage
    extends BaseHttpRequest
    Abstraction for an inbound http request on the server, or a response from a server to a client

    We have this abstraction so that we can reuse marshalling objects in a client framework and serverside framework

    Version:
    $Revision: 1 $
    Author:
    Bill Burke
    • Field Detail

      • request

        protected javax.servlet.http.HttpServletRequest request
      • servletResponse

        protected javax.servlet.http.HttpServletResponse servletResponse
      • servletContext

        protected javax.servlet.ServletContext servletContext
      • httpMethod

        protected String httpMethod
      • overridenStream

        protected InputStream overridenStream
      • wasForwarded

        protected boolean wasForwarded
    • Method Detail

      • getMutableHeaders

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

        public javax.ws.rs.core.MultivaluedMap<String,​String> getPutFormParameters()
      • getPutDecodedFormParameters

        public javax.ws.rs.core.MultivaluedMap<String,​String> getPutDecodedFormParameters()
      • 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)
      • getFormParameters

        public javax.ws.rs.core.MultivaluedMap<String,​String> getFormParameters()
        Description copied from interface: HttpRequest
        application/x-www-form-urlencoded parameters

        This is here because @FormParam needs it and for when there are servlet filters that eat up the input stream

        Specified by:
        getFormParameters in interface HttpRequest
        Overrides:
        getFormParameters in class BaseHttpRequest
        Returns:
        null if no parameters, this is encoded map
      • getHttpHeaders

        public javax.ws.rs.core.HttpHeaders getHttpHeaders()
      • 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)
      • forward

        public void forward​(String path)
      • wasForwarded

        public boolean wasForwarded()
      • mapEquals

        protected boolean mapEquals​(Map<String,​String[]> parameterMap,
                                    javax.ws.rs.core.MultivaluedMap<String,​String> queryMap)
      • 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